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

怎样在微信上制作自己的链接西安seo顾问

怎样在微信上制作自己的链接,西安seo顾问,成都 网站建设培训,沈阳网站设计开发编程导航算法村第九关 | 二分查找 LeetCode852.这个题的要求有点啰嗦,核心意思就是在数组中的某位位置i开始,从0到i是递增的,从i1 到数组最后是递减的,让你找到这个最高点。 详细要求是:符合下列属性的数组 arr 称为山…

编程导航算法村第九关 | 二分查找

  • LeetCode852.这个题的要求有点啰嗦,核心意思就是在数组中的某位位置i开始,从0到i是递增的,从i+1 到数组最后是递减的,让你找到这个最高点。
    详细要求是:符合下列属性的数组 arr 称为山脉数组 :arr.length >= 3存在 i(0 < i < arr.length - 1)使得:

    arr[0] < arr[1] < … arr[i-1] < arr[i]

    arr[i] > arr[i+1] > … > arr[arr.length - 1]
  • 思路:
    • 使用二分查找:
      • 首先确定左右边界
      • 因为必然不是第一个与最后一个,取值范围便是1,length-2
      • 分三种情况讨论
      • 左边递增区域
      • 右边递增区域
      • 找见最大值
public int peakIndexInMountainArray(int[] arr) {int left = 1;int right = arr.length - 2;while (left < right) {int mid = left + ((right - left) >> 1);
//            符合条件的情况if (arr[mid - 1] < arr[mid] && arr[mid] > arr[mid + 1]) {return mid;}if (arr[mid] > arr[mid - 1] && arr[mid] < arr[mid + 1]) {left = mid + 1;}if (arr[mid] < arr[mid - 1] && arr[mid] > arr[mid + 1]) {right = mid - 1;}}return left;}

旋转数字的最小数字

LeetCode153 已知一个长度为 n 的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组。例如原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:

若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]

若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]

 public int findMin(int[] nums) {
//    如果最小值在中间
//    最小值在左边开端、右边开端int left = 0;int right = nums.length - 1;while (left < right) {int mid = left + ((right - left) >> 1);if (nums[mid] < nums[right]) {right = mid;}else {left = mid + 1;}}return nums[left];}

找缺失数字

剑指offer题目: 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。

  • 思路:
    • 找出第一个num[i]!=i的值就是返回值
public int missingNumber(int[] nums) {int left = 0;int right = nums.length - 1;while (left <= right) {int mid = left + ((right - left) >> 1);if (nums[mid] == mid) {left = mid + 1;} else {right = mid - 1;}}return left;}

优化求平方根

剑指offer题目
实现函数 int sqrt(int x).计算并返回x的平方根这个题的思路是用最快的方式找到n*n=x的n。这里涉及到四舍五入,所以采用折半进行比较:

  • 思路:在此处需要使用除法,如果使用乘法则可能会导致越界的问题
 public int mySqrt(int x) {int left = 1;int right = x;while (left <= right) {int mid = left + ((right - left) >> 1);if (x / mid > mid) {left = mid + 1;} else if (x / mid < mid) {right = mid - 1;} else if (x / mid == mid) {return mid;}}return right;}

二叉搜索树

2.1 二叉搜索树中搜索特定值
LeetCode 700.给定二叉搜索树(BST)的根节点和一个值。

  public TreeNode searchBST(TreeNode root, int val) {if (root == null) {return null;}if (root.val == val) {return root;}
//        if (root.left != null && root.right != null) {return   searchBST(root.val > val ? root.left : root.right,val);
//        }}

验证二叉搜索树

  • LeetCode98.给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。
  • 需要按照中序遍历,判断左子树是否是二叉搜索树,记录当前节点的值,要保证后面节点的值要大于前面所有节点的值
 private long pre = Long.MIN_VALUE;public boolean isValidBST(TreeNode root) {if (root == null) {return true;}if (!isValidBST(root.left)) {return false;}if (root.left != null) {if (root.val <= root.left.val) {return false;}}if (root.right != null) {if (root.val >= root.right.val) {return false;}}if (root.val <= pre) {return false;}pre =  root.val;if (!isValidBST(root.right)) {return false;}return true;}
http://www.yidumall.com/news/74678.html

相关文章:

  • 网站如何做备份今日新闻最新
  • cae毕业设计代做网站东莞网络推广营销
  • 南通 网站建设谷歌seo搜索引擎下载
  • 东莞中堂网站建设西安计算机培训机构哪个最好
  • wordpress 模板 源码厦门零基础学seo
  • 网站搜索排名怎么做泰安网站优化公司
  • 网站建设方案的征求意见信息流优化师证书
  • 甘肃做网站的网络公司yoast seo
  • 做一个网站需要多少钱网上打广告有哪些软件
  • 开装潢公司做网站外贸网站优化推广
  • 苏州建设交通高等职业技术学院seo门户网价格是多少钱
  • 网页设计和网站建设书手机网站怎么优化关键词
  • 做营销网站应该要注意些什么长沙seo智优营家
  • 快站优惠券app域名批量查询注册
  • 网站空间免费吗成都网络营销推广公司
  • 怎么用别的网站做代理打开谷歌网络营销网站推广方案
  • 商业网站推广自媒体135网站免费下载安装
  • 天河区网站建设公司郑州关键词seo
  • 无锡做网站哪家公司好百度站内搜索代码
  • 帮做网站企业网络推广方案
  • wordpress 文章特色图像广州seo软件
  • 做盗版网站 国外服务器吗网页设计制作教程
  • 网站建设云主机云服务器百度大数据分析平台
  • 自助建站系统官网媒体代发网站
  • 兰州网站制作培训班搜盘网
  • php彩票网站建设教程抖音搜索引擎推广
  • 淘宝客网站可以做百度推广网络营销策划方案书
  • 新做的网站怎样推广seo网站关键词排名优化公司
  • 泰安网站建设优化营销网站建设创意
  • 那种退不掉的网站怎么做的线上营销方式