哈哈哈,来测试一下我这个的速度
- def count_triangle(this_list):
- this_list.sort()
- count = 0
- list_len = len(this_list)
- for i in range(list_len-2):
- L = i + 1
- R = L + 1
- while L < list_len-1:
- if this_list[i] + this_list[L] <= this_list[R]:
- L += 1
- R = L + 1
- else:
- # print('组合值:', this_list[i], this_list[L], this_list[R])
- # print('下 标:', i, L, R)
- count += 1
- if R == list_len-1:
- L += 1
- R = L + 1
- else:
- R += 1
- print('count:',count,'\n')
-
- if __name__ == '__main__':
- count_triangle([4, 4, 4, 4])
- count_triangle([1, 2, 3, 4])
- count_triangle([9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,9, 2, 2, 3, 5, 6,11])
复制代码 |