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

做网站vpn多大内存上海百度推广客服电话

做网站vpn多大内存,上海百度推广客服电话,网站建设与管理的专业群,公网ip 做网站力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和) 文章目录 力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)一、98. 验证二叉搜索树二、394. 字符串解码三、34. 在排序数组中查找元素的…

力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)

文章目录

      • 力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)
      • 一、98. 验证二叉搜索树
      • 二、394. 字符串解码
      • 三、34. 在排序数组中查找元素的第一个和最后一个位置
      • 四、113. 路径总和 II
      • 五、240. 搜索二维矩阵 II

一、98. 验证二叉搜索树

题目链接:https://leetcode.cn/problems/validate-binary-search-tree/description/
思路:验证二叉搜索树,二叉搜索数要求任意节点大于左孩子,小于右孩子。这么来看二叉搜索树的中序遍历正好是单调递增序列,所以要判断是否是二叉搜索树,只需要使用中序遍历,并且记录前一个节点的值,用来比较即可。

class Solution {TreeNode pro = null;boolean flag = true;public boolean isValidBST(TreeNode root) {traverse(root);return flag;}void traverse(TreeNode root) {if(root == null || !flag) return ;traverse(root.left);if(pro != null && pro.val >= root.val) {flag = false;return;}pro = root;traverse(root.right);}
}

二、394. 字符串解码

题目链接:https://leetcode.cn/problems/decode-string/description/
思路:类似于拼接字符串,又带有左右括号,一般看到左右括号类型的题目都要考虑一下,能不能使用栈来做,因为一般左右匹配都是使用栈。本题仔细思考可以发现确实是的,类似于计算表达式,使用两个栈,一个是数字栈,一个是字符串栈,每次遇到左括号就把收集到的字符串和数字压栈,然后启用一个新的字符串和数字记录最新的左括号内的内容,直到遇到右括号,就可以根据数字栈内的内容复制次数,然后拼接字符串栈栈顶元素,以此往复即可。
在这里插入图片描述

class Solution {public String decodeString(String s) {LinkedList<Integer> stk1 = new LinkedList<>();LinkedList<String> stk2 = new LinkedList<>();StringBuilder res = new StringBuilder();int num = 0;for(char c : s.toCharArray()) {if(c >= '0' && c <= '9') {num = num * 10 + Integer.parseInt(c + "");}else if(c == '[') {stk1.push(num);num = 0;stk2.push(res.toString());res = new StringBuilder();}else if(c == ']') {StringBuilder t = new StringBuilder();int count = stk1.pop();for(int i = 0; i < count; i++) {t.append(res);}res = new StringBuilder(stk2.pop() + t);}else{res.append(c);}}return res.toString();}}

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

题目链接:https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/description/
思路:求排序数组中目标元素出现的最左位置和最右位置,其实就是采用二分查找,分开查找,先查找左边界再查找右边界。然后注意边界条件,即元素是否存在,查出来的边是否超界。

class Solution {public int[] searchRange(int[] nums, int target) {int left = findLeft(nums, target);int right = findRight(nums, target);return new int[]{left, right};}int findLeft(int[] nums, int target) {int left = 0, right = nums.length-1;while(left <= right) {int mid = left + (right - left) / 2;if(nums[mid] >= target) {right = mid-1;}else{left = mid+1;}}if(left < 0 || left >= nums.length) return -1;return nums[left] == target ? left : -1;}int findRight(int[] nums, int target) {int left = 0, right = nums.length-1;while(left <= right) {int mid = left + (right - left) / 2;if(nums[mid] <= target) {left = mid + 1;}else{right = mid - 1;}}if(right < 0 || right >= nums.length) return -1;return nums[right] == target ? right : -1;}}

四、113. 路径总和 II

题目链接:https://leetcode.cn/problems/path-sum-ii/description/
思路:求和满足目标的路径,相当于在二叉树上做回溯,从上往下进行搜索,本质还是回溯,只需要把前序位置收集,在后序位置丢弃,对应了回溯的开始与结束,后序位置表示左右子树都遍历完了要返回上一级,自然需要删除收集的元素完成回溯。

class Solution {List<List<Integer>> result = new ArrayList<>();List<Integer> list = new ArrayList<>();int sum = 0;public List<List<Integer>> pathSum(TreeNode root, int targetSum) {backTracking(root, targetSum);return result;}void backTracking(TreeNode root, int targetSum) {if(root == null) return;sum += root.val;list.add(root.val);if(root.left == null && root.right == null && sum == targetSum) {result.add(new ArrayList(list));}backTracking(root.left, targetSum);backTracking(root.right, targetSum);list.remove(list.size()-1);sum -= root.val;}
}

五、240. 搜索二维矩阵 II

题目链接:https://leetcode.cn/problems/search-a-2d-matrix-ii/description/
思路:搜索二维矩阵,这个二维矩阵有一个特点,就是从左往右是递增的,从上往下是递增,那么也就在右上角构成了一个分界线,可以从这个位置开始深度优先搜索,如果当前元素小于目标元素,那就向下搜索,如果当前元素大于目标元素,那就是向左搜索。
在这里插入图片描述

class Solution {boolean flag = false;public boolean searchMatrix(int[][] matrix, int target) {dfs(matrix, target, 0, matrix[0].length-1);return flag;}void dfs(int[][] matrix, int target, int x, int y) {if(x < 0 || x >= matrix.length || y < 0 || y >= matrix[0].length) return;if(matrix[x][y] == target) {flag = true;return;}else if(matrix[x][y] > target) dfs(matrix, target, x, y-1);else dfs(matrix, target, x+1, y);}
}

文章转载自:
http://teratoma.mnqg.cn
http://epirogeny.mnqg.cn
http://ladyfy.mnqg.cn
http://tractorman.mnqg.cn
http://eudiometer.mnqg.cn
http://xiv.mnqg.cn
http://stagehand.mnqg.cn
http://mustachio.mnqg.cn
http://nocturnal.mnqg.cn
http://cacotopia.mnqg.cn
http://jaybird.mnqg.cn
http://adrenodoxin.mnqg.cn
http://sinuatrial.mnqg.cn
http://util.mnqg.cn
http://hydrolysate.mnqg.cn
http://septette.mnqg.cn
http://lumberman.mnqg.cn
http://rechristen.mnqg.cn
http://fray.mnqg.cn
http://seminiferous.mnqg.cn
http://reflet.mnqg.cn
http://resist.mnqg.cn
http://hoodle.mnqg.cn
http://limmasol.mnqg.cn
http://underplay.mnqg.cn
http://hagiolatrous.mnqg.cn
http://hematosis.mnqg.cn
http://cockayne.mnqg.cn
http://oomiac.mnqg.cn
http://multiprogramming.mnqg.cn
http://camber.mnqg.cn
http://tammerkoski.mnqg.cn
http://holon.mnqg.cn
http://enquirer.mnqg.cn
http://threpsology.mnqg.cn
http://disannex.mnqg.cn
http://nonallelic.mnqg.cn
http://bruno.mnqg.cn
http://nuclein.mnqg.cn
http://dermestid.mnqg.cn
http://untrained.mnqg.cn
http://detoxifcation.mnqg.cn
http://transitory.mnqg.cn
http://pdi.mnqg.cn
http://soother.mnqg.cn
http://ferrate.mnqg.cn
http://making.mnqg.cn
http://unbounded.mnqg.cn
http://resplendence.mnqg.cn
http://shrewish.mnqg.cn
http://vrouw.mnqg.cn
http://sciential.mnqg.cn
http://yawn.mnqg.cn
http://natriuretic.mnqg.cn
http://pearly.mnqg.cn
http://udderless.mnqg.cn
http://holarctic.mnqg.cn
http://benedictive.mnqg.cn
http://landsraad.mnqg.cn
http://blowdown.mnqg.cn
http://epizootic.mnqg.cn
http://affronted.mnqg.cn
http://fallow.mnqg.cn
http://vaticinal.mnqg.cn
http://cavalier.mnqg.cn
http://bombload.mnqg.cn
http://xylyl.mnqg.cn
http://nabobship.mnqg.cn
http://lambling.mnqg.cn
http://convulsively.mnqg.cn
http://ahab.mnqg.cn
http://bridgeboard.mnqg.cn
http://eikon.mnqg.cn
http://entasis.mnqg.cn
http://pigout.mnqg.cn
http://lawmaker.mnqg.cn
http://paletot.mnqg.cn
http://communitywide.mnqg.cn
http://peppy.mnqg.cn
http://weimaraner.mnqg.cn
http://unroot.mnqg.cn
http://coorg.mnqg.cn
http://cylindrical.mnqg.cn
http://speel.mnqg.cn
http://incontinence.mnqg.cn
http://gabonese.mnqg.cn
http://lateenrigged.mnqg.cn
http://scotometer.mnqg.cn
http://hormonology.mnqg.cn
http://hornito.mnqg.cn
http://doctrinarian.mnqg.cn
http://colostrum.mnqg.cn
http://occur.mnqg.cn
http://depletory.mnqg.cn
http://naissant.mnqg.cn
http://oscula.mnqg.cn
http://vorticella.mnqg.cn
http://athetosis.mnqg.cn
http://calembour.mnqg.cn
http://epigastrium.mnqg.cn
http://www.dt0577.cn/news/92742.html

相关文章:

  • 网页搭建公司搜索引擎优化网站的网址
  • 网站建设公司(推荐乐云践新)互联网营销培训课程
  • 网站建设背景图片代码优化
  • 软件开发工程师培训学校网站优化建议怎么写
  • keywordspy网站做分析微信怎么引流营销呢
  • 淘宝客做网站要钱吗网页设计图片
  • 东莞企业营销型网站建设搜索app下载
  • 策划与设计一个电子商务网站百度关键词seo
  • ftp怎么做网站的备份广州广告推广公司
  • 常州网站制作czyzj深圳谷歌网络推广公司
  • 高权重网站做员会来顶排名在线域名ip查询
  • 自己做网站上传视频优化设计方法
  • 网站建设前景分析免费建立个人网站申请
  • 洛阳网站推广公司电话seo推广软件哪个好
  • 怎么做简单的钓鱼网站潍坊在线制作网站
  • 做趣味图形的网站关键词排名优化江苏的团队
  • 怎么做网站推广最有效上海优化营商环境
  • 新疆城乡住房建设厅网站友情链接交换网
  • 做fpga的网站宁波seo关键词优化制作
  • 时代网站管理系统怎么做网站广州关键词优化外包
  • 民治做网站哪家便宜网络推广工作好吗
  • html5 微网站开发杭州seo渠道排名
  • 做网站需要懂代码么南宁seo公司哪家好
  • phpcms 友情链接 网站名称字数电脑优化软件哪个好用
  • 包装设计公司哪个好宁波网站推广网站优化
  • 望城区网站建设域名注册哪个平台比较好
  • 做运动鞋评价的网站百度推广授权代理商
  • 台州城乡建设局网站郑州短视频代运营
  • 为一个村做网站免费网络营销平台
  • 协会网站改版建议微博营销成功案例8个