- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 125 2021-3-30
LC 125 验证回文串 虽然是小问题但是要注意细节 有“.,.”连续不合法情况,故判断是否合法时需要使用while而不是if 有begin=0,end=1情况,begin++&&end–后会交错,故循环不能单纯使用==,应该使用< // 最初的解决办法:重新开辟一个char[]、是否合法判断方法冗余 // 3 ms(93.34%) 38.3 MB(98.34%) class Solution { public boolean isPalindrome(String s)
2021-03-30 11:06:28 34
原创 127 2021-3-30
LC 127 建立 word-id 哈希表;注意初始化语句 两层 list 存储节点临接信息 队列+数组;进行“层级遍历”,建立“可走”的路径(类似二叉树结构),遇到结尾word即停止,统计步数 //思维不难 但很繁杂 ;需要细致耐心 //70 ms(68.26%) 46.6 MB(5.74%) //还可以建立两个队列,双向检索;遇到访问相同index即停止 class Solution { Map<String,Integer> wordID = new HashMap<St
2021-03-30 10:01:37 46
原创 127 2021-3-25
LC 127 当length总是2的n次方时,h& (length-1)运算等价于对length取模,也就是h%length,但是&比%具有更高的效率。
2021-03-30 09:54:58 32
原创 104 2021-3-25
LC 104 //递归 // 0 ms(100.00%) 38.6 MB(10.80) class Solution { public int maxDepth(TreeNode root) { if (root==null) return 0; return Math.max(maxDepth(root.left),maxDepth(root.right))+1; } } //迭代 //可以利用层级遍历的思想 和103类似 但只是记录层数不做别的操作 /
2021-03-25 15:02:37 28
原创 103 2021-3-25
LC 103 Deque “double ended queue” (官方推荐取代stack): 链接: link //双端队列deque 设置顺序标签 //1 ms 98.88% 38.7 MB 27.86% import java.util.*; class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>
2021-03-25 14:50:49 50
原创 102 2021-3-25
LC 102 层序遍历的变体:每次循环打印每一层内所有的点值 注意:List<List> = new ArrayList<>(); Queue = new LinkedList<>(); //执行用时: 1 ms 内存消耗: 38.5 MB //队列+层序遍历 import java.util.*; class Solution { public List<List<Integer>> levelOrder(TreeNode root)
2021-03-25 12:50:36 41
原创 101 2021-03-23
LC 98 使用递归或者迭代 递归:找到可以重复的模式,即为递归函数helper的内容 现实中一般不用递归,过深时可能会导致栈溢出 //找到可以重复的模式 即是递归入口 //0 ms(100.00%) 36.5 MB(56.21%) class Solution { public boolean isSymmetric(TreeNode root) { if (root==null)return true; return helper(root.left,
2021-03-23 17:40:59 40
原创 98 2021-03-23
LC 98 二叉树迭代,要自上向下去思考 LC卡Integer.MAX_VALUE //迭代 0 ms(100.00%),38.4 MB(9.79%) class Solution { //这个节点要做的事是,判断 // 1、左子树最大值小于本节点值 // 2、右子树最小值大于本节点值 // 3、左右子树都是有效的 // 因此需要辅助函数来返回左子树最大值,右子树最小值 // 转换思维!不要想对于上层节点怎么获取左子树最大值或是右子树最小值;而是自上而下,判断信息放
2021-03-23 16:57:07 28
原创 191 2021-03-22
【2021.3.22 每日一题】LC 191 java中数据都是有符号数; 补码的表示方法是: 正数的补码就是其本身 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1) public class ...
2021-03-23 10:44:03 45
2017-2018年中国科学院自动化研究所考博试题-模式识别.pdf
2019-12-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人