成都网站推广找四川冠辰网站建设两年免费维护
成都网站推广找四川冠辰,网站建设两年免费维护,网站内容结构,绍兴百度seo排名题目解析
34. 在排序数组中查找元素的第一个和最后一个位置 我们使用暴力方法进行算法演化#xff0c;寻找一个数字的区间#xff0c;我们可以顺序查找#xff0c;记录最终结果 首先数组是有序的#xff0c;所以使用二分法很好上手#xff0c;但是我们就仅仅使用上一道题…题目解析
34. 在排序数组中查找元素的第一个和最后一个位置 我们使用暴力方法进行算法演化寻找一个数字的区间我们可以顺序查找记录最终结果 首先数组是有序的所以使用二分法很好上手但是我们就仅仅使用上一道题的二分方法这里就仅仅只能够找到这个数组中的target但是我们不能确保是否是端点 因此我们要使用两次二分寻找左端点和右端点先看代码这里面有几个细节看到代码说 算法讲解
class Solution {
public:vectorint searchRange(vectorint nums, int target) {if(nums.size() 0)return {-1, -1};//本题就是寻找target的左端点 右端点int left_ret 0, right_ret 0;int left 0, right nums.size() - 1;//先寻找左端点while (left right){int mid left (right - left) / 2;if (nums[mid] target)left mid 1;else right mid;}if (nums[right] ! target)return {-1,-1};else left_ret left;//寻找右端点right nums.size() - 1;while (left right){int mid left (right - left 1) / 2;if (nums[mid] target)left mid;else right mid - 1;}right_ret right;return { left_ret, right_ret };
}
};
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89118.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!