08 2019 档案

[LeetCode]42. 接雨水(双指针,DP)
摘要:题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 输入: [0 阅读全文

posted @ 2019-08-11 22:55 coding_gaga 阅读(773) 评论(0) 推荐(0)

[LeetCode]208. 实现 Trie (前缀树)
摘要:题目 实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 示例: Trie trie = new Trie(); trie.insert("apple"); trie.search("apple"); // 返回 true trie.sear 阅读全文

posted @ 2019-08-10 20:41 coding_gaga 阅读(155) 评论(0) 推荐(0)

[LeetCode]438. 找到字符串中所有字母异位词、76. 最小覆盖子串(滑动窗口解决子串问题系列)
摘要:题目438. 找到字符串中所有字母异位词 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。 说明: 字母异位词指字母相同,但排列不同的字符串。 不考虑答案输出的顺序。 题解 滑动窗口。 数据结构 准备两个HashMap,needs存模式串 阅读全文

posted @ 2019-08-08 23:55 coding_gaga 阅读(298) 评论(0) 推荐(0)

【二叉树-最长路径系列(任意路径)】直径、最长同值路径、 最大路径和(DFS、树形DP)
摘要:##总述 这类题目都是求一个最长路径,这个路径可以不经过根节点。 使用dfs(即递归地遍历树)的方法。维护一个全局最长路径max作为最终结果,而递归方法dfs返回的是含根节点的最长路径。(若不使用全局变量,也可将返回类型构造自定义类,如题目124的代码2) 注意题目是求路径(两点之间一条线)与节点数 阅读全文

posted @ 2019-08-07 23:45 coding_gaga 阅读(1047) 评论(0) 推荐(0)

[LeetCode]146. LRU缓存机制
摘要:题目 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 1。 写入数据 put(key, value) 如 阅读全文

posted @ 2019-08-06 22:51 coding_gaga 阅读(182) 评论(0) 推荐(0)

[LeetCode]394. 字符串解码(栈)
摘要:题目 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 此 阅读全文

posted @ 2019-08-05 23:27 coding_gaga 阅读(138) 评论(0) 推荐(0)

[Java并发编程之美]第1章 线程基础
摘要:第1章 线程 1.1 线程与进程 进程是操作系统资源分配和调度的基本单位,但cpu资源是分配到线程的,也就是线程是CPU分配的基本单位。 线程自己的栈资源中,存放的局部变量是线程私有的,其他线程无法访问,除此之外栈还存线程的调用栈帧。 1.2 线程创建 三种方式:实现Runnable接口的run方法 阅读全文

posted @ 2019-08-02 22:29 coding_gaga 阅读(227) 评论(0) 推荐(0)

导航