H-Index II LeetCode solution in C++
1class Solution {2public:3int hIndex(vector<int> &citations) {4int start = 0, end = citations.size() - 1;5int n = citations.size();6while (start <= end) {7int mid = start + (end - start) / 2;8int val = citations[mid];9if (val == (n - mid))10return citations[mid];11else if (val < n - mid) {12start = mid + 1;13} else {14end = mid - 1;15}16}17return n - start;18}19};