We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 51545f1 commit 98bc114Copy full SHA for 98bc114
first_position_of_target.py
@@ -0,0 +1,22 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+class Solution:
4
+ # @param nums: The integer array
5
+ # @param target: Target number to find
6
+ # @return the first position of target in nums, position start from 0
7
+ def binarySearch(self, nums, target):
8
+ # write your code here
9
+ begin, end = 0, len(nums)
10
+ while begin <= end:
11
+ mid = (begin + end) / 2
12
+ if nums[mid] < target:
13
+ begin = mid + 1
14
+ elif nums[mid] > target:
15
+ end = mid - 1
16
+ else:
17
+ # 这里其实可以用二分法继续优化!
18
+ for i in xrange(mid - 1, -1, -1):
19
+ if nums[i] != target:
20
+ return i + 1
21
+ return 0
22
+ return -1
0 commit comments