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中确实有
点赞 评论

相关推荐

zzzilik:四个月实习做了3个项目不觉得很假吗,真没必要写这么多吧我感觉挑点核心的重点写一下我感觉会好点
你的简历改到第几版了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务