From 6931dd4d7bcc2725f2d911ba865ce9c3a69c485c Mon Sep 17 00:00:00 2001 From: Xusong Yuan Date: Sat, 11 May 2019 15:48:55 +0800 Subject: [PATCH] submit week 04 assignment --- Week_04/id_44/LeetCode_169_044.java | 20 ++++++++++++++++++++ Week_04/id_44/LeetCode_746_044.java | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Week_04/id_44/LeetCode_169_044.java create mode 100644 Week_04/id_44/LeetCode_746_044.java diff --git a/Week_04/id_44/LeetCode_169_044.java b/Week_04/id_44/LeetCode_169_044.java new file mode 100644 index 00000000..acbff58d --- /dev/null +++ b/Week_04/id_44/LeetCode_169_044.java @@ -0,0 +1,20 @@ +public class LeetCode_169_044 { + public int majorityElement(int[] nums) { + return divc(nums, 0, nums.length - 1); + } + private int divc(int[] nums, int l, int r){ + if(l == r) + return nums[l]; + int mid = l + (r - l)/2; + int ls = divc(nums, l, mid); + int rs = divc(nums, mid+1, r); + if(ls == rs) + return ls; + int c1 = 0, c2 = 0; + for(int i = l; i <= r; i++){ + if(nums[i] == ls) c1++; + if(nums[i] == rs) c2++; + } + return c1 > c2 ? ls : rs; + } +} diff --git a/Week_04/id_44/LeetCode_746_044.java b/Week_04/id_44/LeetCode_746_044.java new file mode 100644 index 00000000..c8834f49 --- /dev/null +++ b/Week_04/id_44/LeetCode_746_044.java @@ -0,0 +1,20 @@ +class LeetCode_746_044 { + public int minCostClimbingStairs(int[] cost) { + int step[] = new int[1024]; + step[0] = 0; + step[1] = 0; + if (cost.length == 0) { + return 0; + } + if (cost.length == 1) { + return cost[0]; + } + if (cost.length == 2) { + return Math.min(cost[0], cost[1]); + } + for (int i = 2; i <= cost.length; i++) { + step[i] = Math.min(step[i - 1] + cost[i - 1], step[i - 2] + cost[i - 2]); + } + return step[cost.length]; + } +}