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

做网站购买域名洛阳网站搭建

做网站购买域名,洛阳网站搭建,wordpress建站Pdf,宠物网站建设策划书本系列为笔者的 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://www.dtcms.com/a/440651.html

相关文章:

  • 我自己做个网站怎么做成都小程序建设乚成都柚米
  • 光明新区建设网站上海公司注册核名官网
  • 网站seo运营培训机构绘图软件有哪些
  • 徐州市城乡和城乡建设厅网站首页微信小程序开发定制公司
  • 【FreeRTOS】第八课(1):信号量(Semaphore)
  • 广州网站建设网站开发怎么做多语言网站
  • 重庆专业做淘宝网站抖音代运营排名
  • 怎么让自己的网站稍微变前面点中国互联网排名前十的公司
  • 佛山营销网站建设费用东莞专业做外贸网站的公司
  • 【LLM】基于ms-Swift大模型SFT和RL的训练实践
  • 做网站需要具备的基础条件江苏徐州工程交易网
  • 好的app设计网站有哪些开发公司英文
  • 做淘宝优惠网站步骤江苏城乡建设部网站首页
  • 北京南站列车时刻表wordpress link rel
  • 没有任何收录的网站做SEM有用吗网站站外推广的内外链接怎么做
  • 做极速赛车网站多用户商城系统
  • 网站开发使用软件环境网站图片速度
  • 网站首页该怎么做什么网站可以做名片
  • 企业网站 留言板软件开发工具包括
  • 上海网站制作网网站建设课程教学改革
  • 做网站的 深圳做淘宝客建网站用什么
  • 网站建设价格女高端模板网站建设
  • 石家庄大的网站开发公司河南做网站的费用
  • 东莞政务网站建设方案wordpress手机视频
  • 旅游网站前台怎么做网站后台 二级域名
  • 北京建设电工证查询网站文库百度登录入口
  • 网站制作需求表做生意必定红火的公司名字
  • 求推荐在哪个网站做德语翻译员网站开发团队分工
  • 网站商城建设的维度网站建设与管理学什么
  • 中国建设银行公司网站官网申请个网站要多少钱