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

赣州大余做网站建设百度手机

赣州大余做网站建设,百度手机,视频制作专业软件,中华始祖堂室内设计文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计…

文章目录

  • 1.题目
    • 示例
    • 提示
  • 2.解答思路
  • 3.实现代码
    • 结果
  • 4.总结

1.题目

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值 target,返回 [-1, -1]。

你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。

示例

在这里插入图片描述

提示

在这里插入图片描述

2.解答思路

提取信息:
1.时间复杂度必须为O(logn)
2.没查找到时返回{-1,-1}查找到就返回下标

本题难点:二分查找的实现:
查找第一个小于target和第一个大于target的值

3.实现代码

class Solution {
public:vector<int> searchRange(vector<int>& nums, int target) {vector<int>ans;int n=nums.size();if(n==0)return{-1,-1};int left=0,right=n-1;//只有二分法时间复杂度才满足要求//查找的是第一个小于target的元素和第一个大于target的元素,while(left<right){//查找元素开始位置int mid=(left+right)>>1;//向下取整(除以2省空间写法)if(nums[mid]>=target){right=mid;}else if(nums[mid]<target){left=mid+1;}}if(nums[right]!=target)return{-1,-1};//查找失败ans.push_back(right);int left2=0,right2=n-1;//查找结束位置while(left2<right2){int mid=(left2+right2+1)>>1;//向上取整if(nums[mid]<=target)left2=mid;elseright2=mid-1;}ans.push_back(right2);return ans;}
};

结果

在这里插入图片描述
用时约两个小时+,目前的解法性能不是很好,有时间继续改进。

4.总结

本来以为挺简单的一道题,题不可貌相。
限定的时间复杂度决定了只能使用二分查找,二分查找的细节还需要好好整理一下,再完善该题。

自信,坚持,upup~

http://www.ds6.com.cn/news/32582.html

相关文章:

  • 种子搜索神器seo搜索引擎优化课后答案
  • 网站推广律师关键词有哪些seo优化资源
  • 找平面设计师网站中国联通腾讯
  • 自动翻译网站软件免费的郑州网络推广服务
  • 建材城电商网站建设短视频推广公司
  • wordpress三站合一2023网站推广入口
  • wordpress教程 csdn百度seo不正当竞争秒收
  • 做外贸的网站怎么建立网站外链购买平台
  • 做网站东莞东莞建网站上海品牌推广公司
  • 微金所网站谁做的目前在哪个平台做推广好
  • 商务网站开发技术seo顾问公司
  • 做网站优化有什么好处域名注册需要多少钱
  • 好看的网站你明白的手机广告推广软件
  • 网站建设费摊销年限网站建站开发
  • 做网站有哪些好处会计培训班的费用是多少
  • 微站和网站数据同步铁岭网站seo
  • discuz做网站西安seo代运营
  • 网站建设企业战略怎么在网上推广广告
  • php 做网站新网站百度多久收录
  • 企业为什么要分析环境成都网站seo技术
  • 网站 keyword title 字数精准数据营销方案
  • 做1688网站需要懂英语吗网站推广工具有哪些
  • 解决wordpress更改新域名后网站不能访问的问题口碑营销案例2021
  • 设计师接私活的网站跨境电商培训
  • 网站首页的动态视频怎么做的汉中网站seo
  • 做网站和商城有什么好处长春网站建设公司哪家好
  • 求做网站seo培训优化
  • 网站限时抢购怎么做整合营销策划方案模板
  • 互动案例的网站外贸网站制作公司
  • 成都诗和远方网站建设重庆seo培训