当前位置: 首页 > news >正文

做网站设计前景怎么样什么网站比较少人做

做网站设计前景怎么样,什么网站比较少人做,国外网站注册软件,常州建网站第一此次想到的解法是首先使用二分查找在排序数组中查找到一个指定元素#xff0c;随后对该元素左右进行遍历#xff0c;找到起始位置和结束位置#xff0c;代码如下#xff1a; class Solution { public:vectorint searchRange(vectorint nums, int…第一此次想到的解法是首先使用二分查找在排序数组中查找到一个指定元素随后对该元素左右进行遍历找到起始位置和结束位置代码如下 class Solution { public:vectorint searchRange(vectorint nums, int target) {int size nums.size();int min 0;int max size - 1;while(min max){int mid min (max - min)/2;if(target nums[mid]){max mid - 1;}else if(target nums[mid]){min mid 1;}else{while(nums[min] ! target){min;}while(nums[max] ! target){max--;}return {min,max};}}return {-1,-1};} };执行虽然通过但测试用时并不是很理想在 代码随想录 看到的解法是将题目分为三种情况 情况一target 在数组范围的右边或者左边例如数组{3, 4, 5}target为2或者数组{3, 4, 5},target为6此时应该返回{-1, -1}情况二target 在数组范围中且数组中不存在target例如数组{3,6,7},target为5此时应该返回{-1, -1}情况三target 在数组范围中且数组中存在target例如数组{3,6,7},target为6此时应该返回{1, 1} 采用二分法来分别寻找左边界和右边界最终分情况进行return。代码如下 class Solution { public:vectorint searchRange(vectorint nums, int target) {int leftBorder getLeftBorder(nums, target);int rightBorder getRightBorder(nums, target);// 情况一if (leftBorder -2 || rightBorder -2) return {-1, -1};// 情况三if (rightBorder - leftBorder 1) return {leftBorder 1, rightBorder - 1};// 情况二return {-1, -1};} private:int getRightBorder(vectorint nums, int target) {int left 0;int right nums.size() - 1;int rightBorder -2; // 记录一下rightBorder没有被赋值的情况while (left right) {int middle left ((right - left) / 2);if (nums[middle] target) {right middle - 1;} else { // 寻找右边界nums[middle] target的时候更新leftleft middle 1;rightBorder left;}}return rightBorder;}int getLeftBorder(vectorint nums, int target) {int left 0;int right nums.size() - 1;int leftBorder -2; // 记录一下leftBorder没有被赋值的情况while (left right) {int middle left ((right - left) / 2);if (nums[middle] target) { // 寻找左边界nums[middle] target的时候更新rightright middle - 1;leftBorder right;} else {left middle 1;}}return leftBorder;} };将上述代码的两个二分查找函数进行合并 class Solution { public:vectorint searchRange(vectorint nums, int target) {int leftBorder getBorder(nums, target, true);int rightBorder getBorder(nums, target, false);// 情况一if (leftBorder -2 || rightBorder -2) return {-1, -1};// 情况三if (rightBorder - leftBorder 1) return {leftBorder 1, rightBorder - 1};// 情况二return {-1, -1};} private:int getBorder(vectorint nums, int target, bool flag) {int left 0;int right nums.size() - 1;int border -2;while (left right){int middle left (right - left)/2;if(flag) { //flag true返回左边界if (nums[middle] target) { // 寻找左边界nums[middle] target的时候更新rightright middle - 1;border right;} else {left middle 1;}}else{if (nums[middle] target) {right middle - 1;} else { // 寻找右边界nums[middle] target的时候更新leftleft middle 1;border left;}}}return border;}};
http://www.hkea.cn/news/14566164/

相关文章:

  • 计科专业毕设做网站广州做网站优化公司报价
  • 网站做等保备案有机农产品网站开发方案
  • 沈阳做网站的公司常州网站建设czyzj
  • 电子购物网站建设目的企业站seo价格
  • 做网站的服务器怎么选建立网站费用怎么做会计分录
  • 连接国外网站的app打开网站显示404
  • 河北省城乡和建设厅网站首页怎么才能在百度上搜到自己的网站
  • 备案的网站建设书是什么石家庄网站开发设计
  • 怎么用ps做网站ui室内装饰设计怎么样
  • 微信上浏览自己做的网站百度导航下载2022最新版官网
  • 一般网站栏目结构网站开发中网页之间的链接形式有什么
  • wordpress手机端主题插件seo网站优化网站编辑招聘
  • 网站开发工作进度表中国新闻社和新华社有什么区别
  • 新郑龙湖网站建设电子商务网站建设也管理
  • 南阳网站排名seo诊断工具
  • 免费空间如何放网站如何做网络营销推广工作
  • 建网站啦动漫做a视频网站有哪些
  • 网上做任务网站有哪些富阳建设局网站电话
  • 网站免费认证联盟合肥哪里有做网站的
  • 重庆网站seo多少钱上海发布官网app下载
  • 网站维护托管深圳移动网站建设公司价格
  • dw建设的网站上传connect wordpress 主题
  • 公司网站建设工作通知自己在线制作logo免费 生成器
  • 申请自助网站wordpress title修改
  • 怎么给网站做seo优化新手如何优化网站排名
  • 建网站用哪个好做网站一年赚多少钱
  • 网站建设系统怎么样女性健康网站源码
  • 网站建设企业网站宿迁商城网站建设
  • 哪些公司做DZ网站维护做悬浮导航的网站
  • 商务网站建设详细步骤洋气的文化传媒公司名字