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

智能网站系统可以做app吗杭州市建设银行网站

智能网站系统可以做app吗,杭州市建设银行网站,大连小程序哪个开发公司好,手机触屏网站开发前言 本文用于整理LeetCode Hot100中题目解答,因题目比较简单且更多是为了面试快速写出正确思路,只做简单题意解读和一句话题解方便记忆。但代码会全部给出,方便大家整理代码思路。 二分相关问题讲解:【基础算法】二分查找的多种写…

前言

        本文用于整理LeetCode Hot100中题目解答,因题目比较简单且更多是为了面试快速写出正确思路,只做简单题意解读和一句话题解方便记忆。但代码会全部给出,方便大家整理代码思路。

二分相关问题讲解:【基础算法】二分查找的多种写法


35. 搜索插入位置

一句话题意

        给定一个序列和一个目标值,问若目标值存在序列中,则返回下标,否则返回目标值插入有序序列的位置。

一句话题解

        二分查找。

class Solution {public int searchInsert(int[] nums, int target) {int l=0;int r=nums.length;while(l<r){int mid=l+r>>1;if(nums[mid]>=target){r=mid;}else{l=mid+1;}}return r;}
}

74. 搜索二维矩阵

一句话题意

        给定一个每行递增,每行最后一个值大于下一行第一个值得二维矩阵,问目标值是否在矩阵中。

一句话题解

        两次二分,先去最后一列二分查目标值所在行,然后在所在行查所在列。

class Solution {int n,m;int target;int[][] matrix;public boolean searchMatrix(int[][] matrix, int target) {this.n=matrix.length;this.m=matrix[0].length;this.target=target;this.matrix = matrix;int x = searchY(m-1);if(x==n)x--;int y = searchX(x);if(y==m)y--;return matrix[x][y]==target;}int searchX(int x){int l=0;int r=m;while(l<r){int mid=l+r>>1;if(matrix[x][mid]<target){l=mid+1;}else{r=mid;}}return r;}int searchY(int y){int l=0;int r=n;while(l<r){int mid=l+r>>1;if(matrix[mid][y]<target){l=mid+1;}else{r=mid;}}return r;}
}

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

一句话题意

        顾名思义,在排序数组中查找元素的第一个和最后一个位置。

一句话题解

        实现lower_bound和upper_bound。

class Solution {public int[] searchRange(int[] nums, int target) {int l=lowBs(nums,target);if(l==nums.length||nums[l]!=target){return new int[]{-1,-1};}if(l==nums.length-1){return new int[]{l,l};}return new int[]{l,highBs(nums,target)-1};}int lowBs(int[] nums,int target){int l=0;int r=nums.length;while(l<r){int mid=l+(r-l>>1);if(nums[mid]<target){l=mid+1;}else{r=mid;}}return l;}int highBs(int[] nums,int target){int l=0;int r=nums.length;while(l<r){int mid=l+(r-l>>1);if(nums[mid]<=target){l=mid+1;}else{r=mid;}}return l;}
}

33. 搜索旋转排序数组

一句话题意

        有序数组吗,在顺时针旋转了一定范围,求目标值是否存在数组中。

一句话题解

        二分。可以注意到的是,我们在进行二分的时候,一定是有一半的序列是有序的,那么我们可以根据这个特点,去分类判断即可。

class Solution {public int search(int[] nums, int target) {int l=0;int r=nums.length-1;while(l<=r){int mid=l+(r-l>>1);if(nums[mid]==target)return mid;if(nums[0]<=nums[mid]){if(nums[0]<=target&&target<nums[mid]){r=mid-1;}else{l=mid+1;}}else{  if(nums[mid]<target&&target<=nums[nums.length-1]){l=mid+1;}else{r=mid-1;}}}return -1;}
}

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

一句话题意

        求旋转后的有序序列中的最小值。

一句话题解

        二分,可以发现的是,在我们旋转之后,我们二分的中间元素若大于右侧元素,那我们可以判断出最小值应该在mid的右侧;否则在左侧。

        本质上就是找小的递增序列的位置。

class Solution {public int findMin(int[] nums) {int l = 0;int r = nums.length - 1;while (l < r) {int mid = l + (r - l >> 1);if (nums[mid] < nums[r]) {r = mid;} else {l = mid + 1;}}return nums[l];}
}

4. 寻找两个正序数组的中位数

一句话题意

        给定两个有序序列,问两个有序序列组合成一个组合序列后的中位数是什么。

一句话题解

参考题解:【图解】循序渐进:从双指针到二分 -- 灵茶山艾府

        要求复杂度最大O(log(n+m)),可以观察到我们通过将序列中的值分为相同数量的两部分,左边取最大值,右侧取最小值,就能取得中位数。以此,我们可以将两个序列根据不同的序列划分点,算出当左侧最大值小于右侧最小值的时候,是满足条件的,也就是可以正确取得中位数。据此,我们可以进行二分。

class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {if(nums1.length>nums2.length){int[] tmp=nums1;nums1=nums2;nums2=tmp;}int n=nums1.length;int m=nums2.length;int l=-1;int r=n;while(l+1<r){int midt=l+(r-l>>1);int midb=(m+n+1>>1)-midt-2;if(nums1[midt]<=nums2[midb+1]){l=midt;}else{r=midt;}}int i=l;int j=(m+n+1>>1)-i-2;int mxt=Integer.MIN_VALUE;int mxb=Integer.MIN_VALUE;int mnt=Integer.MAX_VALUE;int mnb=Integer.MAX_VALUE;if(i>=0)mxt=nums1[i];if(j>=0)mxb=nums2[j];if(i+1<n)mnt=nums1[i+1];if(j+1<m)mnb=nums2[j+1];if((n+m)%2==0){return (Math.min(mnt,mnb)+Math.max(mxt,mxb))/2.0;}else{return Math.max(mxb,mxt);}}
}


文章转载自:

http://WQAmvUKQ.rqkzh.cn
http://bkBp9C37.rqkzh.cn
http://XlN4yq6r.rqkzh.cn
http://3mlbsMhT.rqkzh.cn
http://6Soxr6Lv.rqkzh.cn
http://qfg7DqfK.rqkzh.cn
http://vXZV1q57.rqkzh.cn
http://tG3qNtaQ.rqkzh.cn
http://yrwwH8IA.rqkzh.cn
http://tqCdczYB.rqkzh.cn
http://pgkLOXtu.rqkzh.cn
http://LqDsXsz9.rqkzh.cn
http://CeiWhFyW.rqkzh.cn
http://w1MQEzn6.rqkzh.cn
http://0nlspAIF.rqkzh.cn
http://7GLihxYM.rqkzh.cn
http://7QsFJEDv.rqkzh.cn
http://UVgajvrD.rqkzh.cn
http://1jI6iLY2.rqkzh.cn
http://1Pm1yYnL.rqkzh.cn
http://N1feZx1J.rqkzh.cn
http://PiMGkBsd.rqkzh.cn
http://ASMhfo3D.rqkzh.cn
http://AlfoxT6L.rqkzh.cn
http://7WInEGsk.rqkzh.cn
http://qD2tHBOq.rqkzh.cn
http://okNnVmN3.rqkzh.cn
http://jGwYGEM6.rqkzh.cn
http://hUdhTzFD.rqkzh.cn
http://5v39nNSj.rqkzh.cn
http://www.dtcms.com/wzjs/723526.html

相关文章:

  • 做公司网站需要会什么科目张家港网站制作服务
  • 网站建设配置文件无法粘贴页面异常导致本地路径泄漏 wordpress
  • 制作网页网站哪个好用网站建设验收报告范本
  • 水资源监控能力建设 网站建设阿里巴巴网站
  • 陕西民盛建设有限公司网站泉州网站排名优化
  • 在五八同城做网站多少钱网页加速器
  • 郑州区块链数字钱包网站开发公司永久不收费的软件app
  • 做网站要求手机怎样制作链接
  • 2_网站建设的一般步骤包含哪些?哪个网站可以免费做H5
  • 互联网行业信息网站公司网站开发费用兴田德润官方网站
  • 随州网站seo多少钱wordpress本地环境链接404
  • 特产网站模板网站建设人力成本费用
  • 上海网站建设服务分录无法进行网站备案
  • 网站备案变更 能让首页关闭 二级域名继续做网站分为哪几个岗位
  • 没有网站怎样做外贸帮助网站源码
  • 吴中网站开发建设多少钱重庆勘察设计协会网站
  • 管理公司网站建设郑州企业建公租房的政策
  • 福州品牌网站建设oemwordpress上传ftp失败
  • 阿里巴巴网站的功能重庆手机网站制作费用
  • 做淘客网站用备案吗wordpress刷权重插件
  • 北京做网站建设的公司排名wordpress页面和菜单
  • 建筑公司网站设计思路济南网站建设公司川芎网络
  • 嘉兴门户网站php mysql 网站模板
  • 灰色网站网站企业网站开发技术期末试题
  • 建站平台是给谁用的百度推广代理商与总公司的区别
  • 电子商务网站建设与安全网站建设基地
  • 中企动力邮箱手机登录入口湖南企业竞价优化服务
  • 有了域名 怎么做网站查询网网站
  • seo关键词是怎么优化的正规seo关键词排名哪家专业
  • 移动端网站的优点建设工程查询市场价网站