int findFirsrKOfArray(vector nums, int k) { if (nums.size() == 0) return -1; if (nums[0] > k || nums[nums.size() - 1] < k) return -1; int left = 0; int right = nums.size() - 1; int mid = (left + right) / 2; while (left < right) { if (nums[mid] == k) { if (mid == 0) break; if (mid > left) { if (nums[mid - 1] != k) break; else { right = mid - 1; mid = (left + right) / 2; } } } else if (nums[mid] > k) { right = mid - 1; mid = (left + right) / 2; } else { left = mid + 1; mid = (left + right) / 2; } } if (nums[mid] == k) return mid; return -1; } 剑指offer中确实有
点赞 评论

相关推荐

11-13 14:37
门头沟学院 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务