From f5a1906b1804ffb41145c4d1d783473b4cc23186 Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 17:16:06 +0800 Subject: [PATCH 01/13] Create LeetCode_2018_1 --- Week_04/id_1/LeetCode_2018_1 | 64 ++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Week_04/id_1/LeetCode_2018_1 diff --git a/Week_04/id_1/LeetCode_2018_1 b/Week_04/id_1/LeetCode_2018_1 new file mode 100644 index 00000000..88200386 --- /dev/null +++ b/Week_04/id_1/LeetCode_2018_1 @@ -0,0 +1,64 @@ +class Trie { + + TrieNode root; + class TrieNode{ + char val; + TrieNode [] child=new TrieNode[26]; + boolean isWord=false; + public TrieNode(){} + public TrieNode(char val){ + TrieNode node = new TrieNode(); + node.val=val; + } + } + + /** Initialize your data structure here. */ + public Trie() { + root=new TrieNode(); + } + + /** Inserts a word into the trie. */ + public void insert(String word) { + TrieNode node = this.root; + for (char c : word.toCharArray()) { + if(node.child[c-'a']==null){ + node.child[c-'a']=new TrieNode(c); + } + node=node.child[c-'a']; + } + node.isWord=true; + } + + /** Returns if the word is in the trie. */ + public boolean search(String word) { + TrieNode node = this.root; + for (char c : word.toCharArray()) { + if(node.child[c-'a']==null){ + return false; + } + node=node.child[c-'a']; + } + return node.isWord; + } + + /** Returns if there is any word in the trie that starts with the given prefix. */ + public boolean startsWith(String prefix) { + TrieNode node = this.root; + for (char c : prefix.toCharArray()) { + if(node.child[c-'a']==null){ + return false; + } + node=node.child[c-'a']; + + } + return true; + } +} + +/** + * Your Trie object will be instantiated and called as such: + * Trie obj = new Trie(); + * obj.insert(word); + * boolean param_2 = obj.search(word); + * boolean param_3 = obj.startsWith(prefix); + */ From c9740433bcf84f42ee8c8d2ea981d8b232ab5bdc Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 17:28:00 +0800 Subject: [PATCH 02/13] Rename LeetCode_2018_1 to LeetCode_208_1 --- Week_04/id_1/{LeetCode_2018_1 => LeetCode_208_1} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Week_04/id_1/{LeetCode_2018_1 => LeetCode_208_1} (100%) diff --git a/Week_04/id_1/LeetCode_2018_1 b/Week_04/id_1/LeetCode_208_1 similarity index 100% rename from Week_04/id_1/LeetCode_2018_1 rename to Week_04/id_1/LeetCode_208_1 From f8d8ba80d5ad9da96fb9d076b39ab39b7aa51673 Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 17:28:39 +0800 Subject: [PATCH 03/13] Create LeetCode_70_1 --- Week_04/id_1/LeetCode_70_1 | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Week_04/id_1/LeetCode_70_1 diff --git a/Week_04/id_1/LeetCode_70_1 b/Week_04/id_1/LeetCode_70_1 new file mode 100644 index 00000000..7597bab1 --- /dev/null +++ b/Week_04/id_1/LeetCode_70_1 @@ -0,0 +1,25 @@ +package week01; + +/** + * Auth:luoxiang + * Time:2019/6/30 5:17 PM + * Desc: 爬楼梯 + */ +public class LeetCode_70_1 { + + public static void main(String[] args) { + System.out.println(new LeetCode_70_1().climbStairs(3)); + } + + public int climbStairs(int n) { + if(n<3) return n; + int[] dp = new int[n + 1]; + dp[1]=1; + dp[2]=2; + for(int i=3;i<=n;i++){ + dp[i]=dp[i-1]+dp[i-2]; + } + return dp[n]; + + } +} From 3eb91a552d8f35f803c994187755ca734d21dafb Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 17:31:10 +0800 Subject: [PATCH 04/13] Create LeetCode_720_1 --- Week_04/id_1/LeetCode_720_1 | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Week_04/id_1/LeetCode_720_1 diff --git a/Week_04/id_1/LeetCode_720_1 b/Week_04/id_1/LeetCode_720_1 new file mode 100644 index 00000000..aa6f225c --- /dev/null +++ b/Week_04/id_1/LeetCode_720_1 @@ -0,0 +1,32 @@ +package week01; + +import java.util.Arrays; + +public class LeetCode_720_1 { + public static void main(String[] args) { + System.out.println(new LeetCode_720_1().longestWord(new String[]{"w","wo","wor","worl", "world"})); + } + + public String longestWord(String[] words) { + if (words == null || words.length == 0) return ""; + Arrays.sort(words); + int len = 0; + for (String word : words) { + len=Math.max(len,word.length()); + } + for (int i = len; i > 0; i--) { + for (int j = 0; j < words.length; j++) { + if (words[j].length() == i) { + int temp = i; + for (int k = j - 1; k >= 0; k--) { + if (words[j].substring(0, temp - 1).equals(words[k])) { + temp--; + } + } + if (temp == 1) return words[j]; + } + } + } + return ""; + } +} From 29eb4370dc7f12b90ecc49c0bbdafeda0d569e4e Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 17:41:56 +0800 Subject: [PATCH 05/13] Create LeetCode_169_1 --- Week_04/id_1/LeetCode_169_1 | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Week_04/id_1/LeetCode_169_1 diff --git a/Week_04/id_1/LeetCode_169_1 b/Week_04/id_1/LeetCode_169_1 new file mode 100644 index 00000000..18cb8612 --- /dev/null +++ b/Week_04/id_1/LeetCode_169_1 @@ -0,0 +1,32 @@ +package week01; + +import java.util.HashMap; +import java.util.Map; + +/** + * Auth:luoxiang + * Time:2019/6/30 5:31 PM + * Desc: 求众数 + */ +public class LeetCode_169_1 { + + public static void main(String[] args) { + System.out.println(new LeetCode_169_1().majorityElement(new int[]{3,2,3})); + System.out.println(new LeetCode_169_1().majorityElement(new int[]{2,2,1,1,1,2,2})); + } + + public int majorityElement(int[] nums) { + if (nums == null || nums.length == 0) return 0; + Map map = new HashMap<>(); + for (int num : nums) { + int temp = map.getOrDefault(num, 0) + 1; + if (temp <= (nums.length / 2)) { + map.put(num, map.getOrDefault(num, 0) + 1); + } else { + return num; + } + + } + throw new IllegalArgumentException("异常"); + } +} From bf22d4f2f8f74585ad9e47cbd58fce1fc8ee03ca Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 17:52:34 +0800 Subject: [PATCH 06/13] Create LeetCode_198_1 --- Week_04/id_1/LeetCode_198_1 | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Week_04/id_1/LeetCode_198_1 diff --git a/Week_04/id_1/LeetCode_198_1 b/Week_04/id_1/LeetCode_198_1 new file mode 100644 index 00000000..44637850 --- /dev/null +++ b/Week_04/id_1/LeetCode_198_1 @@ -0,0 +1,25 @@ +package week04; + +/** + * Auth:luoxiang + * Time:2019/6/30 5:46 PM + * Desc: DP 打家劫舍 + */ +public class LeetCode_198_1 { + public static void main(String[] args) { + System.out.println(new LeetCode_198_1().rob(new int[]{1,2,3,1})); + System.out.println(new LeetCode_198_1().rob(new int[]{2,7,9,3,1})); + } + + public int rob(int[] nums) { + int len = nums.length; + if (len == 0 || len == 1) return len == 0 ? 0 : nums[0]; + int[] dp = new int[len]; + dp[0]=nums[0]; + dp[1]=Math.max(nums[0],nums[1]); + for(int i=2;i Date: Sun, 30 Jun 2019 18:05:15 +0800 Subject: [PATCH 07/13] Create LeetCode_455_1 --- Week_04/id_1/LeetCode_455_1 | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Week_04/id_1/LeetCode_455_1 diff --git a/Week_04/id_1/LeetCode_455_1 b/Week_04/id_1/LeetCode_455_1 new file mode 100644 index 00000000..6177a2f6 --- /dev/null +++ b/Week_04/id_1/LeetCode_455_1 @@ -0,0 +1,33 @@ +package week01; + +import java.util.Arrays; + +/** + * Auth:luoxiang + * Time:2019/6/30 5:54 PM + * Desc: + */ +public class LeetCode_455_1 { + public static void main(String[] args) { + System.out.println(new LeetCode_455_1().findContentChildren(new int[]{1,2},new int[]{1,2,3})); + System.out.println(new LeetCode_455_1().findContentChildren(new int[]{1,2,3},new int[]{1,1})); + } + + public int findContentChildren(int[] g, int[] s) { + if (g.length == 0 || s.length == 0) return 0; + // g 与 s 排序 + Arrays.sort(g); + Arrays.sort(s); + int count=0; + int gi=0,si=0; + while (gi Date: Sun, 30 Jun 2019 18:05:39 +0800 Subject: [PATCH 08/13] Rename LeetCode_169_1 to LeetCode_169_1.java --- Week_04/id_1/{LeetCode_169_1 => LeetCode_169_1.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Week_04/id_1/{LeetCode_169_1 => LeetCode_169_1.java} (100%) diff --git a/Week_04/id_1/LeetCode_169_1 b/Week_04/id_1/LeetCode_169_1.java similarity index 100% rename from Week_04/id_1/LeetCode_169_1 rename to Week_04/id_1/LeetCode_169_1.java From b2117237ba00ceae721a4b8b0126510315e6e2e6 Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 18:05:56 +0800 Subject: [PATCH 09/13] Rename LeetCode_198_1 to LeetCode_198_1.java --- Week_04/id_1/{LeetCode_198_1 => LeetCode_198_1.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Week_04/id_1/{LeetCode_198_1 => LeetCode_198_1.java} (100%) diff --git a/Week_04/id_1/LeetCode_198_1 b/Week_04/id_1/LeetCode_198_1.java similarity index 100% rename from Week_04/id_1/LeetCode_198_1 rename to Week_04/id_1/LeetCode_198_1.java From 97140b6d237c8ac6dc5a63918a51f131b6b966d3 Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 18:06:10 +0800 Subject: [PATCH 10/13] Rename LeetCode_720_1 to LeetCode_720_1.java --- Week_04/id_1/{LeetCode_720_1 => LeetCode_720_1.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Week_04/id_1/{LeetCode_720_1 => LeetCode_720_1.java} (100%) diff --git a/Week_04/id_1/LeetCode_720_1 b/Week_04/id_1/LeetCode_720_1.java similarity index 100% rename from Week_04/id_1/LeetCode_720_1 rename to Week_04/id_1/LeetCode_720_1.java From cb710a826ea741e6d0f8512d01f6ded8c6fe1bd0 Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 18:06:25 +0800 Subject: [PATCH 11/13] Rename LeetCode_70_1 to LeetCode_70_1.java --- Week_04/id_1/{LeetCode_70_1 => LeetCode_70_1.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Week_04/id_1/{LeetCode_70_1 => LeetCode_70_1.java} (100%) diff --git a/Week_04/id_1/LeetCode_70_1 b/Week_04/id_1/LeetCode_70_1.java similarity index 100% rename from Week_04/id_1/LeetCode_70_1 rename to Week_04/id_1/LeetCode_70_1.java From b0a444c6473012819c99ff7b4511767e12874096 Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 18:06:40 +0800 Subject: [PATCH 12/13] Rename LeetCode_208_1 to LeetCode_208_1.java --- Week_04/id_1/{LeetCode_208_1 => LeetCode_208_1.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Week_04/id_1/{LeetCode_208_1 => LeetCode_208_1.java} (100%) diff --git a/Week_04/id_1/LeetCode_208_1 b/Week_04/id_1/LeetCode_208_1.java similarity index 100% rename from Week_04/id_1/LeetCode_208_1 rename to Week_04/id_1/LeetCode_208_1.java From 399aecafc6a8b398f8ab585aa8466b203dbe4377 Mon Sep 17 00:00:00 2001 From: AALuoXiang <1533047354@qq.com> Date: Sun, 30 Jun 2019 18:06:56 +0800 Subject: [PATCH 13/13] Rename LeetCode_455_1 to LeetCode_455_1.java --- Week_04/id_1/{LeetCode_455_1 => LeetCode_455_1.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Week_04/id_1/{LeetCode_455_1 => LeetCode_455_1.java} (100%) diff --git a/Week_04/id_1/LeetCode_455_1 b/Week_04/id_1/LeetCode_455_1.java similarity index 100% rename from Week_04/id_1/LeetCode_455_1 rename to Week_04/id_1/LeetCode_455_1.java