多出的数字
Question
在两个输入的数组中除了一个数字之外其余数字的值和顺序都相同,第一个数组比第二个数组多一个数字。请问如何找出第一个数组中多出的数字的下标?例如如果输入两个数组{2, 4, 6, 8, 9, 10, 12}和{2, 4, 6, 8, 10, 12},则输出4,该下标对应的数字是9
分析
使用二分法求解,计算复杂度为O(logn)
代码
1 | def search_extra_num(list_a, list_b, extra_index=0): |
多出数字的下标为: 2
多出数字的数值为: 4
1 | def search_extra_num1(list_a, list_b): |
多出数字的下标为: 5
多出数字的数值为: 10
1 |