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

西数 网站建设网站制作公司

西数 网站建设,网站制作公司,铭讯网站建设,企业网页制作公司青岛题目 给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。 输入: nums [1,1,2,3,3,4,4,8,8] 输出: 2 输入:…

题目

给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。

请你找出并返回只出现一次的那个数。

你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。

输入: nums = [1,1,2,3,3,4,4,8,8]
输出: 2

输入: nums = [3,3,7,7,10,11,11]
输出: 10

思路

题目说每个元素都会出现两次,唯有一个数只会出现一次而且是有序的,那说明如果单个元素下标为i,i 左边要匹配的元素在左边,同理右边也一样。那么 i 左右两边的都是偶数,且在左边是偶数下标的元素和下一位的奇数配对的元素,在 i 的右边因为前面有一个不配对的元素,使用是奇数下标的元素和下一位偶数下标的意思配对。题目要求O(log n),那可以使用二分查找。以偶数和下一位奇数配对的为准寻找。

代码

class Solution {
public:int singleNonDuplicate(vector<int>& nums) {int low = 0, high = nums.size() - 1;while (low < high) {int mid = (high - low) / 2 + low;mid -= mid & 1;//为了确保 mid 是偶数索引if (nums[mid] == nums[mid + 1]) {low = mid + 2;} else {high = mid;}}return nums[low];}
};

总结

  • 二分查找可以以数组其中变化的为准找
  • mid 是偶数索引 mid -= mid & 1
http://www.shuangfujiaoyu.com/news/24736.html

相关文章:

  • 织梦做网站湖南靠谱seo优化
  • 安阳网站推广餐饮营销手段13种手段
  • 做网站推广有啥活动电商的运营模式有几种
  • 东莞网站建设业务的公司长春今日头条新闻
  • flash网站链接怎么做网站策划运营
  • 支付宝怎么做网站维护网络推广产品公司
  • 有个专门做dnf游戏币的网站品牌网络推广外包
  • 北京网站开发公司今天的病毒感染情况
  • 昆明网站排名优化公司起名最好的网站排名
  • ps网站制作教程友链出售
  • wordpress做网站过程制作网页一般多少钱
  • 设计师一般用什么网站企业网站优化技巧
  • 宁国做网站的网站访问量统计工具
  • wordpress本地搭建网站a三亚网络推广
  • 做一个网站要多久凤山网站seo
  • 沈阳网站建设公司熊掌号性价比高seo的排名优化
  • 制造业外贸营销网站建设个人如何加入百度推广
  • 广东省建设教育协会官方网站首页外贸网络营销推广
  • 做网站要买数据库百度网站链接提交入口
  • 佛山网站建设团队下载百度app到桌面
  • 门户网站建设经验总结西安seo优化系统
  • 网站的客服一般怎么做的郑州高端网站制作
  • 5188站长平台自媒体推广渠道
  • 网站制作课程介绍seo推广 课程
  • 个人网站建设一般流程深圳网络推广系统
  • wordpress数据库加速seo标题优化步骤
  • 如何做招聘网站的评估百度资源搜索资源平台
  • 最新网站开发价格灰色seo推广
  • 广州网站建设首选快优湖人排名最新
  • 呼伦贝尔市建设网站小广告怎么能弄干净