自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 二分查找法解题思路

一般二分查找法是针对数组中的排列规律进行操作,也就是对索引的规律进行操作。 切记,尽量不要对值的变化进行操作。 最后return 才能是nums[index] 假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。 在 public int firstBadVersion(int n) { int l = 1;

2021-11-19 15:32:15 194

原创 分别改变左边和右边的情况都可能满足怎么办

给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 如果碰到左右都在可能变化的情况,那就使用return fun(改变左边的情况 || 改变右边的情况) 再在下面编写一个函数。 public boolean validPalindrome(String s) { char[] c = s.toCharArray(); int l = 0; int r = s.length()-1; int re = 1;

2021-11-18 17:19:09 54

原创 双指针的问题不一定要创建链表,可以用数组下标体现

第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 public int numRescueBoats(int[] people, int limit) { Arrays.sort(people); int l = 0; int r = people.length-1; int

2021-11-18 12:45:01 299

原创 只遍历树中的一条路径来和题目条件比较的方法

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。 叶子节点 是指没有子节点的节点。 public boolean hasPathSum(TreeNode root, int targetSum) { if(root == null){ return false; } if(root.left==nu

2021-11-18 10:33:18 185

原创 求树的路径类问题可以转变为求树的节点个数

因为树的路径=节点-1 所以可以转化,而节点又可以通过求深度+1求得。大致就是这个思路 例如:给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 int ans = 0; public int diameterOfBinaryTree(TreeNode root) { ans = 1; maxDepth(root); return ans -1; }

2021-11-17 16:35:54 33

原创 在一个数组中找到target的两数之和,返回两个数的下标

输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 为了节约时间,可以将哈希表中的键设为数组的值,哈希表中的值设为输出目标(也就是返回的数的下标)。 Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>(); for (int i = 0; i < nums

2021-11-16 14:56:16 232

原创 字符串中找不同的元素

lc389 int[] cnt = new int[26]; for (int i = 0; i < s.length(); ++i) { char ch = s.charAt(i); cnt[ch - 'a']++; } for (int i = 0; i < t.length(); ++i) { char ch = t.charAt(i);

2021-11-16 13:22:44 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除