Passion and Patience

Work Hard, Play Hard

导航

2024年3月28日 #

赛码:小红书推荐系统

摘要: 忽略到输入的可能是子串包含关键字,会使得出现次数计算错误,修改为使用str.contains方法。 import java.util.Scanner; import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Mai 阅读全文

posted @ 2024-03-28 22:21 安静的聆 阅读(8) 评论(0) 推荐(0) 编辑

2024年3月27日 #

Leetcode 回文链表

摘要: Day 12 第一题 用数组存储链表的数值,在检测是否是回文数组,数组长度不可变,所以用list class Solution { public boolean isPalindrome(ListNode head) { List<Integer> list = new ArrayList<>(); 阅读全文

posted @ 2024-03-27 20:33 安静的聆 阅读(4) 评论(0) 推荐(0) 编辑

2024年3月26日 #

Leetcode 翻转二叉树

摘要: Day11 第三题 目前ac最快的一道题 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} 阅读全文

posted @ 2024-03-26 22:21 安静的聆 阅读(4) 评论(0) 推荐(0) 编辑

Leetcode 二叉树的最大深度

摘要: Day 11 第二题 深度优先搜索 在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 \(\mathcal{O}(1)\)时间内计算出当前二叉树的最大深度。 class Solution { public int maxDepth(TreeNode root) { i 阅读全文

posted @ 2024-03-26 22:14 安静的聆 阅读(3) 评论(0) 推荐(0) 编辑

Leetcode 和为k的子数组

摘要: Day11 第一题 #######解题思路:两层循环,用暴力法解决(从不同起始位置开始的子数组) class Solution { public int subarraySum(int[] nums, int k) { // 和为k的子数组的个数计数器count int count = 0; for 阅读全文

posted @ 2024-03-26 21:49 安静的聆 阅读(5) 评论(0) 推荐(0) 编辑

2024年3月25日 #

Leetcode 反转链表

摘要: Day 10 刷题 ####### 力扣官方解答:用节点作为交换方式,而非其中的值,通过增加一个空null,来使得指向完全相反。 #######迭代法: class Solution { public ListNode reverseList(ListNode head) { ListNode pr 阅读全文

posted @ 2024-03-25 22:35 安静的聆 阅读(4) 评论(0) 推荐(0) 编辑

Leetcode 相交链表

摘要: Day 10 刷题 #######简单粗暴,两层循环,空间复杂度\(\mathcal{O}(1)\) public class Solution { // 不可增加输入 public ListNode getIntersectionNode(ListNode headA, ListNode head 阅读全文

posted @ 2024-03-25 21:48 安静的聆 阅读(4) 评论(0) 推荐(0) 编辑

2024年3月23日 #

Leetcode 最小栈

摘要: Day 8 第二题 我的思路:用栈来定义栈的相关操作,但超出运行时间,考虑原因是克隆栈(Stack<Integer>) xx.clone();消耗的时间和空间复杂度。原来stack有get函数! // 定义一个类MinStack class MinStack { public Stack<Integ 阅读全文

posted @ 2024-03-23 23:56 安静的聆 阅读(5) 评论(0) 推荐(0) 编辑

Leetcode 有效的括号

摘要: Day 8 第1题 力扣官方解题思路:利用栈的特性和哈希表快速配对及时把括号数组pop出去,关键在于左右括号需要连续封闭:stack.peek() != pairs.get(ch)。 class Solution { public boolean isValid(String s) { int n 阅读全文

posted @ 2024-03-23 17:21 安静的聆 阅读(2) 评论(0) 推荐(0) 编辑

2024年3月22日 #

Leetcode 多数元素

摘要: Day 8 第一题 解题思路:数组中的数a出现次数若超过n/2,则排序后处于中间位置的元素一定是a。 import java.util.*; class Solution { public int majorityElement(int[] nums) { // 如果他超过n/2,则排序后处于中间位 阅读全文

posted @ 2024-03-22 13:34 安静的聆 阅读(2) 评论(0) 推荐(0) 编辑