摘要: 题目描述 大家都知道斐波那契(Fibonacci)数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 要求使用递归和非递归两种方法 1.递归实现 时间复杂度:O(2n) ,空间复杂度:O(1) public class Solution { public 阅读全文
posted @ 2020-05-13 22:39 不学无墅_NKer 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1 class Solution { 2 public int firstUniqChar(String s) { 3 4 int[] freq = new int[26]; 5 for(int i = 0; i < s.length(); i ++){ 6 freq[s.charAt(i) - ' 阅读全文
posted @ 2020-05-13 21:19 不学无墅_NKer 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 分析:在这个案例中,Trie是作为一种映射来使用(在Node节点中存储了一个value值)。 集合和映射的关系:映射本身就是把集合中的每一个元素当做一个键,每一键绑定一个value,绑定体现在Node中。 1 import java.util.TreeMap; 2 class MapSum { 3 阅读全文
posted @ 2020-05-10 13:24 不学无墅_NKer 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 分析:把Trie当做字符串的集合来使用,添加单词,查询单词是否存在 1 import java.util.TreeMap; 2 class WordDictionary { 3 private class Node{ 4 public boolean isWord; 5 public TreeMap 阅读全文
posted @ 2020-05-10 12:22 不学无墅_NKer 阅读(155) 评论(0) 推荐(0) 编辑
摘要: import java.util.TreeMap; class Trie { private class Node{ public boolean isWord; public TreeMap<Character, Node> next; public Node(boolean isWord){ t 阅读全文
posted @ 2020-05-10 09:24 不学无墅_NKer 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 1. main()快捷键: psvm 2. System.out.println()快捷键:sout 3. for(int i = 0;i < ;i ++) 的快捷键: fori 4. 自动补全代码 快捷键:ctrl + shift + Enter(回车键) 5. 快速抽取变量 快捷键:ctrl + 阅读全文
posted @ 2020-05-09 10:49 不学无墅_NKer 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 分析:虽然是求区间和,但数组是不可变的,不可变 意思是 不涉及线段树更新操作。因此可以不使用线段树这种复杂的数据结构,对于该题不使用线段树效果更好,初始化是O(n)的复杂度,以后每次调用只需要O(1)的复杂度。 // 不使用线段树的解决方案 class NumArray { privat 阅读全文
posted @ 2020-05-06 23:46 不学无墅_NKer 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题解分析:首先求出所有元素的频次(映射Map),然后利用频次求出前k高的元素(优先队列)。具体来说,问题转化为“在N个元素中选出前M个元素,M<<N”,最朴素的想法是采用排序,但使用快排等高级排序算法,复杂度在NlogN;更好的方法是采用优先队列,复杂度在NlogM,其思路是使用优先队列,维护当前看 阅读全文
posted @ 2020-05-05 23:36 不学无墅_NKer 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 分析:使用集合 class Solution { public int[] intersection(int[] nums1, int[] nums2) { Set<Integer> set = new HashSet<>(); Set<Integer> set1 = new HashSet<>() 阅读全文
posted @ 2020-05-05 12:51 不学无墅_NKer 阅读(186) 评论(0) 推荐(0) 编辑
摘要: import java.util.TreeSet; class Solution { public int uniqueMorseRepresentations(String[] words) { String[] codes = {".-","-...","-.-.","-..",".","..- 阅读全文
posted @ 2020-05-04 22:48 不学无墅_NKer 阅读(165) 评论(0) 推荐(0) 编辑