diff --git a/Week_04/id_1/LeetCode_169_1.java b/Week_04/id_1/LeetCode_169_1.java new file mode 100644 index 00000000..18cb8612 --- /dev/null +++ b/Week_04/id_1/LeetCode_169_1.java @@ -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("异常"); + } +} diff --git a/Week_04/id_1/LeetCode_198_1.java b/Week_04/id_1/LeetCode_198_1.java new file mode 100644 index 00000000..44637850 --- /dev/null +++ b/Week_04/id_1/LeetCode_198_1.java @@ -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 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 ""; + } +}