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

深圳网站设计开发嵌入式软件开发用什么语言

深圳网站设计开发,嵌入式软件开发用什么语言,保山市建设厅官方网站,一加网站开发本系列为笔者的 Leetcode 刷题记录,顺序为 Hot 100 题官方顺序,根据标签命名,记录笔者总结的做题思路,附部分代码解释和疑问解答,01~07为C语言,08及以后为Java语言。 01 搜索插入位置 class Solution {pub…

本系列为笔者的 Leetcode 刷题记录,顺序为 Hot 100 题官方顺序,根据标签命名,记录笔者总结的做题思路,附部分代码解释和疑问解答,01~07为C++语言,08及以后为Java语言。

01 搜索插入位置

在这里插入图片描述

class Solution {public int searchInsert(int[] nums, int target) {int left = 0;int right = nums.length - 1;while(left <= right){int mid = (left + right) / 2;if(nums[mid] == target){return mid;}else if(nums[mid] < target){left = mid + 1;}else{right = mid - 1;}}return left;}
}

02 搜索二维矩阵

在这里插入图片描述

在这里插入图片描述

class Solution {public boolean searchMatrix(int[][] matrix, int target) {//思路:将二维数组展开为一维数组int row = matrix.length;int column = matrix[0].length;int left = 0;int right = row * column - 1;while(left <= right){int mid = (left + right) / 2;int x = matrix[mid / column][mid % column];if(x == target){return true;}else if(x < target){left = mid + 1;}else{right = mid - 1;}}return false;}
}

03 在排序数组中查找元素的第一个和最后一个位置

在这里插入图片描述

在这里插入图片描述

class Solution {public int[] searchRange(int[] nums, int target) {int[] positions = new int[]{-1, -1};int left1 = 0, left2 = 0;int right1 = nums.length-1, right2 = nums.length-1;//寻找第一个等于target的位置while(left1 <= right1){int mid1 = (left1 + right1) / 2;if(nums[mid1] == target){positions[0] = mid1;right1 = mid1 - 1; //重点}else if(nums[mid1] < target){left1 = mid1 + 1;}else{right1 = mid1 - 1;}}//寻找最后一个等于target的位置while(left2 <= right2){int mid2 = (left2 + right2) / 2;if(nums[mid2] == target){positions[1] = mid2;left2 = mid2 + 1; //重点}else if(nums[mid2] < target){left2 = mid2 + 1;}else{right2 = mid2 - 1;}}return positions;}
}

第一个重点确保了即使找到目标值,也会继续向左搜索,以确保找到第一个出现的索引。

第二个重点确保了即使找到目标值,也会继续向右搜索,以确保找到最后一个出现的索引。

04 搜索旋转排序数组 ⭐

在这里插入图片描述

在这里插入图片描述

class Solution {public int search(int[] nums, int target) {int n = nums.length;//特殊情况判断if(n == 0){return -1;}if(n == 1){return nums[0] == target ? 0 : -1;}int left = 0;int right = n - 1;while(left <= right){int mid = (left + right) / 2;if(nums[mid] == target){return mid;}else if(nums[0] <= nums[mid]){ //大山峰、小山峰if(nums[0] <= target && target < nums[mid]){right = mid - 1;}else{left = mid + 1;}}else{ //小山峰、大山峰if(nums[mid] < target && target <= nums[n - 1]){left = mid + 1;}else{right = mid - 1;}}}return -1;}
}

05 寻找旋转排序数组中的最小值

在这里插入图片描述

在这里插入图片描述

class Solution {public int findMin(int[] nums) {int n = nums.length;//特殊情况判断if(n == 1){return nums[0];}int left = 0;int right = n - 1;int flag = nums[0];while(left <= right){int mid = (left + right) / 2;flag = nums[mid] < flag ? nums[mid] : flag;if(nums[0] <= nums[mid]){ //大山峰、小山峰left = mid + 1;}else{ //小山峰、大山峰right = mid - 1;}}return flag;}
}

06 寻找两个正序数组的中位数

在这里插入图片描述

如果对时间复杂度的要求有log,通常都需要用到二分查找。

class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int m = nums1.length, n = nums2.length;int numsLength = m + n;if(numsLength % 2 == 1){int mid = numsLength / 2 + 1;double ans = myFunction(nums1, nums2, mid); //寻找第k小的数return ans;}else{int mid1 = numsLength / 2;int mid2 = numsLength / 2 + 1;double ans = (myFunction(nums1, nums2, mid1) + myFunction(nums1, nums2, mid2)) / 2.0;return ans;}}public int myFunction(int[] nums1, int[] nums2, int k){int m = nums1.length, n = nums2.length;int index1 = 0, index2 = 0;while(true){//特殊情况判断if(index1 == m){return nums2[index2 + k - 1];}if(index2 == n){return nums1[index1 + k - 1];}if(k == 1){return Math.min(nums1[index1], nums2[index2]);}int half = k / 2;int newIndex1 = Math.min(index1 + half, m) - 1;int newIndex2 = Math.min(index2 + half, n) - 1;int pivot1 = nums1[newIndex1];int pivot2 = nums2[newIndex2];//重点if(pivot1 <= pivot2){k -= (newIndex1 - index1 + 1);index1 = newIndex1 + 1;}else{k -= (newIndex2 - index2 + 1);index2 = newIndex2 + 1;}}}
}

文章转载自:

http://ujxYTCDs.hrzhg.cn
http://aahRCKsa.hrzhg.cn
http://WiMwvEJu.hrzhg.cn
http://eAcVUvNj.hrzhg.cn
http://50SCOBQV.hrzhg.cn
http://zugpAD9l.hrzhg.cn
http://z80D2psd.hrzhg.cn
http://1n6jfXp2.hrzhg.cn
http://X9UgFc3J.hrzhg.cn
http://iAfAb0mc.hrzhg.cn
http://aLKosgyZ.hrzhg.cn
http://uYCEXqbh.hrzhg.cn
http://pDcxQTjB.hrzhg.cn
http://EwajETdu.hrzhg.cn
http://lmxYUFIa.hrzhg.cn
http://3rCeRk1V.hrzhg.cn
http://7NDqVkL9.hrzhg.cn
http://ZD7lonuA.hrzhg.cn
http://RXTMsi1S.hrzhg.cn
http://YGO8uHzU.hrzhg.cn
http://lmvD3IP1.hrzhg.cn
http://gbN5RaWK.hrzhg.cn
http://FsqOC1dQ.hrzhg.cn
http://29XUWC1L.hrzhg.cn
http://HKgFw54o.hrzhg.cn
http://cswnjNjC.hrzhg.cn
http://Ih81rbO7.hrzhg.cn
http://cLbrxlo4.hrzhg.cn
http://HxvFSQmA.hrzhg.cn
http://798LHJdh.hrzhg.cn
http://www.dtcms.com/wzjs/722898.html

相关文章:

  • 网站的关键词怎么设置大公司网站搭建公司
  • DW建设网站过程中出现的问题杭州做网站设计公司
  • 做网站大作业的心得体会购买wordpress模板
  • 免费建设网站的好么asp.net网站的数据库配置
  • 网站宽屏图片怎么做怎么免费建论坛
  • 网站活动专题页面设计网站查询网
  • 现在做一个网站最少要多少钱邢台信息港最新招聘信息
  • 修改网站默认首页到哪里找人做网站
  • 网站制作公司 云南国内现货正规交易平台
  • 页面设计好看的网站可以浏览的外文网站
  • 小狗做爰网站重庆是哪个省划分出来的
  • 大企业网站样式招商外包公司哪家比较好
  • 长沙网站优化技巧彩页模板
  • minisite网站案例说出网站建设流程
  • 视频模板免费下载网站分销平台都有哪些
  • 学校网站建设审批网站备案密码重置
  • 手工艺品外贸出口公司网站建设方案上海4a广告公司
  • 搜索关键词网站宁德建设银行网站
  • h5页面制作网站酷家乐软件培训班
  • 游戏钓鱼网站怎么做WordPress图床源码
  • 建设银行流水账网站查询dedecms中英文网站
  • 公司要找网站公司网站建设申请方案文样
  • 宿州市住房 建设 官方网站王者荣耀网站建设的步骤
  • 做网站哪金乡网站建设哪家便宜
  • 自己做网站后台app制作教学视频
  • 网站源码php网站开发与维护专业要学什么
  • 高端网站建设 炫酷wordpress 详细介绍
  • 建设学校网站需要具备手机网站设计创意说明
  • 上海哪里可以做网站合肥工业设计公司
  • 想找公司做网站lnmp wordpress 301