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

工信网备案网站跨境电商平台介绍

工信网备案网站,跨境电商平台介绍,做一名网络写手去那个网站好,长沙网站推广系统文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题#xff1a;有序数组中的单一元素 出处#xff1a;540. 有序数组中的单一元素 难度 4 级 题目描述 要求 给定一个仅由整数… 文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题有序数组中的单一元素 出处540. 有序数组中的单一元素 难度 4 级 题目描述 要求 给定一个仅由整数组成的升序数组其中每个元素都出现两次除了一个元素只出现一次。 返回只出现一次的元素。 要求时间复杂度是 O(log n) \texttt{O(log n)} O(log n)空间复杂度是 O(1) \texttt{O(1)} O(1)。 示例 示例 1 输入 nums [1,1,2,3,3,4,4,8,8] \texttt{nums [1,1,2,3,3,4,4,8,8]} nums  [1,1,2,3,3,4,4,8,8] 输出 2 \texttt{2} 2 示例 2 输入 nums [3,3,7,7,10,11,11] \texttt{nums [3,3,7,7,10,11,11]} nums  [3,3,7,7,10,11,11] 输出 10 \texttt{10} 10 数据范围 1 ≤ nums.length ≤ 10 5 \texttt{1} \le \texttt{nums.length} \le \texttt{10}^\texttt{5} 1≤nums.length≤105 0 ≤ nums[i] ≤ 10 5 \texttt{0} \le \texttt{nums[i]} \le \texttt{10}^\texttt{5} 0≤nums[i]≤105 解法一 思路和算法 由于给定的数组已经排序因此相同元素在数组中一定位于相邻的位置。对于只出现一次的元素该元素的左边和右边各有偶数个元素。假设只出现一次的元素位于下标 index \textit{index} index考虑下标 x x x 处的元素 x ≠ index x \ne \textit{index} xindex。 当 x index x \textit{index} xindex 时只出现一次的元素在下标 x x x 的右边。如果 x x x 是偶数则 nums [ x ] nums [ x 1 ] \textit{nums}[x] \textit{nums}[x 1] nums[x]nums[x1]如果 x x x 是奇数则 nums [ x ] nums [ x − 1 ] \textit{nums}[x] \textit{nums}[x - 1] nums[x]nums[x−1]。 当 x index x \textit{index} xindex 时只出现一次的元素在下标 x x x 的左边。如果 x x x 是偶数则 nums [ x ] nums [ x − 1 ] \textit{nums}[x] \textit{nums}[x - 1] nums[x]nums[x−1]如果 x x x 是奇数则 nums [ x ] nums [ x 1 ] \textit{nums}[x] \textit{nums}[x 1] nums[x]nums[x1]。 对于下标 x x x可以根据 x x x 的奇偶性以及与 nums [ x ] \textit{nums}[x] nums[x] 相同的元素下标判断只出现一次的元素位于下标 x x x 处、下标 x x x 的左边或下标 x x x 的右边。因此可以使用二分查找得到只出现一次的元素的下标。 用 low \textit{low} low 和 high \textit{high} high 分别表示二分查找的下标范围的下界和上界初始时 low \textit{low} low 和 high \textit{high} high 分别为数组的最小下标和最大下标。每次查找时取 mid \textit{mid} mid 为 low \textit{low} low 和 high \textit{high} high 的平均数向下取整执行如下操作。 如果 mid \textit{mid} mid 是偶数且 nums [ mid ] nums [ mid 1 ] \textit{nums}[\textit{mid}] \textit{nums}[\textit{mid} 1] nums[mid]nums[mid1]或 mid \textit{mid} mid 是奇数且 nums [ mid ] nums [ mid − 1 ] \textit{nums}[\textit{mid}] \textit{nums}[\textit{mid} - 1] nums[mid]nums[mid−1]则只出现一次的元素位于下标 mid \textit{mid} mid 的右边因此在下标范围 [ mid 1 , high ] [\textit{mid} 1, \textit{high}] [mid1,high] 中继续查找。 否则只出现一次的元素位于下标 mid \textit{mid} mid 或其左边因此在下标范围 [ low , mid ] [\textit{low}, \textit{mid}] [low,mid] 中继续查找。 当 low high \textit{low} \textit{high} lowhigh 时查找结束此时 low \textit{low} low 即为只出现一次的元素的下标 nums [ low ] \textit{nums}[\textit{low}] nums[low] 即为只出现一次的元素。 代码 class Solution {public int singleNonDuplicate(int[] nums) {int low 0, high nums.length - 1;while (low high) {int mid low (high - low) / 2;if (mid % 2 0 nums[mid] nums[mid 1] || mid % 2 1 nums[mid] nums[mid - 1]) {low mid 1;} else {high mid;}}return nums[low];} }复杂度分析 时间复杂度 O ( log ⁡ n ) O(\log n) O(logn)其中 n n n 是数组 nums \textit{nums} nums 的长度。二分查找的范围是数组的全部 n n n 个下标二分查找的时间复杂度是 O ( log ⁡ n ) O(\log n) O(logn)。 空间复杂度 O ( 1 ) O(1) O(1)。 解法二 思路和算法 由于只出现一次的元素的左边有偶数个元素因此只出现一次的元素一定位于偶数下标可以只在偶数下标中二分查找。 由于给定的数组长度是奇数因此数组的最小下标和最大下标都是偶数二分查找的下标范围的下界和上界的初始值分别为数组的最小下标和最大下标。每次查找时取 mid \textit{mid} mid 为 low \textit{low} low 和 high \textit{high} high 的平均数向下取整如果得到的 mid \textit{mid} mid 是奇数则将 mid \textit{mid} mid 减 1 1 1确保 mid \textit{mid} mid 是偶数执行如下操作。 如果 nums [ mid ] nums [ mid 1 ] \textit{nums}[\textit{mid}] \textit{nums}[\textit{mid} 1] nums[mid]nums[mid1]则只出现一次的元素位于下标 mid \textit{mid} mid 的右边因此在下标范围 [ mid 2 , high ] [\textit{mid} 2, \textit{high}] [mid2,high] 中继续查找。 否则只出现一次的元素位于下标 mid \textit{mid} mid 或其左边因此在下标范围 [ low , mid ] [\textit{low}, \textit{mid}] [low,mid] 中继续查找。 二分查找过程中每次更新后的下标范围的下界和上界都是偶数确保只在偶数下标中二分查找。 当 low high \textit{low} \textit{high} lowhigh 时查找结束此时 low \textit{low} low 即为只出现一次的元素的下标 nums [ low ] \textit{nums}[\textit{low}] nums[low] 即为只出现一次的元素。 代码 class Solution {public int singleNonDuplicate(int[] nums) {int low 0, high nums.length - 1;while (low high) {int mid low (high - low) / 2;if (mid % 2 ! 0) {mid--;}if (nums[mid] nums[mid 1]) {low mid 2;} else {high mid;}}return nums[low];} }复杂度分析 时间复杂度 O ( log ⁡ n ) O(\log n) O(logn)其中 n n n 是数组 nums \textit{nums} nums 的长度。二分查找的范围是数组的 n 1 2 \dfrac{n 1}{2} 2n1​ 个偶数下标二分查找的时间复杂度是 O ( log ⁡ n ) O(\log n) O(logn)。 空间复杂度 O ( 1 ) O(1) O(1)。
http://www.hkea.cn/news/14583672/

相关文章:

  • 网站宜昌网络推广公司代理
  • 计算机信息网络系统seo关键字优化技巧
  • 绿色食品网站模板网站推广优化趋势
  • 房产信息网网站做vip兼职设计师的网站有哪些
  • 中国网站建设排名网站建设策划案模版
  • 网站建设技术线路选择wordpress首页添加一个超链接框
  • 福建商城网站制作公司深圳有哪些软件外包公司
  • 论坛做网站好吗如何做切片网站
  • 制作网站时搜索图标如何做投资
  • 网站备案主体广州有几个区分别叫什么
  • 成都专业做网站公司哪家好网站建设创业计划书范文大全
  • 网站建设会计帐务处理手机赚钱项目大全网
  • 织梦网站去除技术支持网站建设 好
  • 海南网站建设及维护注册商标查询是否已被注册
  • 网站建设费如何入账怎么摊销徐州网站建设解决方案
  • 什么插件可以做网站访问量统计长沙网站优化培训
  • 建行官网官网网站吗做网站需要怎么样的服务器
  • 东莞市建网站制作方案做市场调查的网站
  • 海口网站建设平台wordpress 链接关系
  • 广州十度网络网站开发最好公司网站开发怎么入账
  • 要建立网站和账号违法违规行为数据库和什么黑名单建站软件排名
  • 网站建设费会计分录隆昌网站建设
  • 家具网站案例珠海网站制作首页
  • 做网站用vue吗建网站前途
  • 东莞网站没计音乐网站建设程序
  • 网站建设项目安排计划表深圳手机端网站建设收费
  • 备案 网站名国家公示企业信息查询官网
  • 番禺区大石做网站线上营销的优势和劣势
  • 专业网站建设平台建设网站有什么要素构成
  • 一个人制作网站泉州外贸网站开发公司