int(vector<int> a, int k){ int l = 0, r = a.size(); int id; while (l <= r) { int mid = l + (r - l) / 2; if (a[mid] > k) { id = mid; r = mid - 1; } else { l = mid + 1; } } return id; }
2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
intbinary(vector<int> v, int x){ int i = 0, j = v.size() - 1; while (i < j) { int mid = i + (j - i) / 2; if (v[mid] >= x) { j = mid; } else { i = mid + 1; } } return i; }
近期评论