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

琼海建设网站改变网站的域名

琼海建设网站,改变网站的域名,织梦手机网站怎么安装教程视频,专业做网站流程LeetCode双指针#xff1a;有序数组中的单一元素 题目描述 给你一个仅由整数组成的有序数组#xff0c;其中每个元素都会出现两次#xff0c;唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复…LeetCode双指针有序数组中的单一元素 题目描述 给你一个仅由整数组成的有序数组其中每个元素都会出现两次唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。 示例 1: 输入: nums [1,1,2,3,3,4,4,8,8] 输出: 2示例 2: 输入: nums [3,3,7,7,10,11,11] 输出: 10解题思路 由有序数组以及要求 O(log n) 时间复杂度和 O(1) 空间复杂度得知需使用二分查找怎么找考虑到它的总数一定是为奇数那么就可以从左右两边每次划分后的数量进行查找怎么判别获得中间值之后知道哪一边是几十个哪一边是偶数个这个我用的笨方法举例 1、[1,1,2,3,3,4,4]右指针为6左指针为0除以2之后mid为3奇数落在第一个3上根据预想需要调整右指针到第二个3上 2、[1,1,2,2,3,3,4]右指针为6左指针为0除以2之后mid为3奇数落在第二个2上根据预想需要调整左指针到第一个2上 3、[1,2,2,3,3]右指针为4左指针为0除以2之后mid为2偶数落在第二个2上根据预想需要调整右指针到第二个2上 4、[1,1,2,2,3]右指针为4左指针为0除以2之后mid为2偶数落在第一个2上根据预想需要调整左指针到第一个2上 可能此种解释比较麻烦我也没找到让自己和解的方法仅代表我自己的理解 接下来就是进行归类我把需要移动左指针的进行归类1,3先进行假设 若mid为奇数判断它和它前一个是否相等相等则左指针调整 若mid为偶数判断它和它后一个是否相等相等则左指针调整 带入2,4情况发现符合可以试试找规律自己推出来较为容易理解上述也可以不知道这一种选择改变判等的位置相应更改后边即可 代码 public class BinSearch3 {public int singleNonDuplicate(int[] nums) {int low 0, high nums.length - 1;while (low high) {int mid (high - low) / 2 low;//若mid为偶数判断它和它后一个是否相等相等则左指针调整if (mid%20){if (nums[mid] nums[mid 1]){low mid 1;}else {high mid;}//若mid为奇数判断它和它前一个是否相等相等则左指针调整}else {if (nums[mid] nums[mid - 1]){low mid 1;}else {high mid;}}}return nums[low];}public static void main(String[] args) {BinSearch3 bnew BinSearch3();System.out.println(b.singleNonDuplicate(new int[]{1,1,2,3,3,4,4}));} }代码优化 如上判定奇偶情况代码十分臃肿冗余对其进行进一步改进此时需要了解^的使用 位运算的异或操作符 ^。二进制中异或有一个有趣的性质即 a ^ b 在 a 和 b 不相同时结果为 1相同时结果为 0。 1 ^ 3 的结果是 01 ^ 11 10即十进制中的 2。 带入上述例子[1,1,2,2,3,3,4]mid3为奇数将2和1进行异或 01 ^ 11 10即十进制中的 2那么不正是相当于对其进行了减一操作 同理当mid2时01 ^ 10 11即十进制中的 3那么不正是相当于对其进行了加一操作 因此对其进行优化后 public class BinSearch3 {public int singleNonDuplicate(int[] nums) {int low 0, high nums.length - 1;while (low high) {int mid (high - low) / 2 low;if (nums[mid] nums[mid ^ 1]) {low mid 1;} else {high mid;}}return nums[low];}public static void main(String[] args) {BinSearch3 b new BinSearch3();System.out.println(b.singleNonDuplicate(new int[]{1, 1, 2, 3, 3, 4, 4, 8, 8}));} }
http://www.hkea.cn/news/14388455/

相关文章:

  • 口腔医院网站建设成都市网站建设哪家好
  • asp.net mvc网站发布教程网站建设微商城多少钱
  • admin登录网站企业网站静态模板
  • 株洲网站制作公司有哪些企业名录查询软件
  • 备案的博客网站可以做别的吗哪些网站可以做画赚钱
  • 自己做qq头像的网站北京架设网站
  • 美丽寮步网站建设价钱管理系统官方网站
  • 重庆网站建设总结即墨区城乡建设局网站官网
  • 网站建设的必要性及意义企业网络服务
  • 辽宁省高等级公路建设局网站旅游网站设计分析
  • 泰州公司网站建设线上推广的公司
  • 百度收录不了网站域名备案中网站可以开通
  • 建设网站的文案范文做服装的一般去什么网站找图片
  • 制作企业网站与app有什么不同汉中建设工程招投标信息网
  • 建站平台一键申请三方支付通道施工企业综合管理费
  • 网络营销如何进行东莞关键词排名快速优化
  • seo提权软件西安优化多钱
  • 网站导航栏按钮煤棚网架公司
  • 做网站前需要做什么准备西工网站建设设计
  • 有关电商网站开发的实习报告网站设计公司 南京
  • 石河子网站制作网站开发也需要源码吗
  • 哈尔滨大型网站制作十大免费cad网站入口软件
  • 郫县网站建设半成品公司 网站
  • 制作网站首先要知道什么软文广告经典案例分析
  • 注册企业网站技术开发
  • 优秀甜品网站延庆网站建设
  • 开发一款网站需要多少钱wordpress文章列表不显示图片
  • 网站建设有哪种方式湖北免费相亲网站
  • 做首图的网站枣庄网站建设
  • 阿里云网站的logo怎么写进去的重庆百度推广