Leetcode刷题
文章平均质量分 50
Leetcode刷题小记
hi酱
小肥猫爱喝奶茶
展开
-
“==“,“Array1.equals(Array2)“,“ Arrays.equals(arr1, arr2)“
操作符比较两个数组对象时,它检查的是对象引用是否相同,而不是数组内容是否相等。这意味着,即使两个数组包含完全相同的元素,但只要它们是两个不同的对象(即在内存中的地址不同),使用。用于对象时,比较的是两个对象的内存地址是否相同,即它们是否是同一个对象的引用。因此,在数组的比较中,都不能用来判断两个数组的内容是否相等,它们只能用来判断两个数组引用是否指向同一个对象。,你只是在比较两个数组对象的引用是否相同,而不是它们的内容。因此,如果你的目的是比较两个数组的内容是否相同,应该使用。比较这两个数组会返回。原创 2024-02-25 05:08:19 · 298 阅读 · 1 评论 -
nums==null 和nums.length==0
是很有必要的,以避免在尝试访问数组内容或属性时抛出异常。如果数组已经初始化,但你需要检查它是否为空(即不包含任何元素),则应该检查nums.length == 0。在编写代码时,如果存在数组可能未被初始化的情况,检查nums == null。原创 2024-02-23 16:56:41 · 163 阅读 · 1 评论 -
Leetcode刷题 2、3、4的幂(231、326、342)
因为n和n-1的按位与为0,所以只需要判断按位与是不是0即可。但需要判断特殊情况,如n<=0情况。原创 2024-02-17 18:02:46 · 155 阅读 · 0 评论 -
Leetcode 162 寻找峰值
峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回所在位置即可。你可以假设 nums[-1] = nums[n] = -∞你必须实现时间复杂度为 O(log n)的算法来解决此问题。原创 2024-02-17 16:25:03 · 581 阅读 · 2 评论 -
Leetcode 155 最小栈问题
这题大体思路比较简单,因为时间复杂度要求是常数级别,因此不能用简单遍历的方法,但空间复杂度没有要求,因此可以借助辅助栈的形式。关键字确保每次调用都会创建一个新的对象。这些新创建的对象分别被赋值给。变量,因此这两个引用变量现在指向了实际的对象,而不再是。但自己写题的过程中,出现了一些报错。对象,你就可以安全地调用。被初始化并指向了实际的。, 等等,而不会遇到。原创 2024-02-15 20:49:58 · 278 阅读 · 0 评论 -
Leetcode240 搜索二维矩阵Ⅱ
1.比target大,就把最后一行去掉。(因为后面的数肯定比目前的matrix[i][j]大,更找不到target)2.比target小,就把第一列去掉。(因为后面列的数会比目前的matrix[i][j]大)(此处是第一列中最大值,最后一行的最小值)。因此分为几种情况:(可以看看这个图参考一下)本题的代码不复杂,主要是观察矩阵的结构,编写一个高效的算法来搜索。原创 2024-02-17 15:20:58 · 163 阅读 · 1 评论