上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 30 下一页

2019年8月10日

[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 阅读(143) 评论(0) 推荐(0) 编辑

2019年8月8日

[LeetCode]438. 找到字符串中所有字母异位词、76. 最小覆盖子串(滑动窗口解决子串问题系列)

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

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

2019年8月7日

【二叉树-最长路径系列(任意路径)】直径、最长同值路径、 最大路径和(DFS、树形DP)

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

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

2019年8月6日

[LeetCode]146. LRU缓存机制

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

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

2019年8月5日

[LeetCode]394. 字符串解码(栈)

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

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

2019年8月2日

[Java并发编程之美]第1章 线程基础

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

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

2019年7月31日

[LeetCode]11. 盛最多水的容器(双指针)

摘要: 题目 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 题解 双指针,每次将矮的那边往里移(因为面 阅读全文

posted @ 2019-07-31 22:05 coding_gaga 阅读(112) 评论(0) 推荐(0) 编辑

2019年7月30日

[LeetCode]3. 无重复字符的最长子串(滑动窗口)

摘要: 题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 题解 i,j维护滑动窗口,HashMap存储字符出现过的索引,当出现记录过的字符,更新滑动窗口i边界。 时 阅读全文

posted @ 2019-07-30 20:26 coding_gaga 阅读(196) 评论(0) 推荐(0) 编辑

2019年7月29日

[设计模式]单例模式

摘要: 单例模式 定义:一个类只有一个实例,并提供全局访问这个实例的接口。 用途:有一些类我们只需要一个对象实例,比如说:线程池、缓存、对话框、注册表、日志对象、充当打印机、显卡等设备驱动程序的对象。如果制造出多个实例就可能会导致一些问题的产生,比如:程序的行为异常、资源使用过量、或者不一致性的结果。 单例 阅读全文

posted @ 2019-07-29 23:01 coding_gaga 阅读(111) 评论(0) 推荐(0) 编辑

[Java并发编程之美]第2章 synchroized关键字

摘要: synchronized关键字 synchronized块是Java提供的一种原子性内置锁,每个对象都可以把它当同步锁来用。线程在进入synchronized块钱会自动获取内部锁,这时候其他线程访问同步代码块时会被阻塞挂起。 synchronized会造成很大的系统开销,尽量避免不必要的使用。 每种 阅读全文

posted @ 2019-07-29 22:19 coding_gaga 阅读(183) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 30 下一页

导航