From c7ca47a20eb87ae1ce1ec36e6333c5d5ebdfed68 Mon Sep 17 00:00:00 2001 From: dehuab Date: Sat, 11 May 2019 22:59:43 +0800 Subject: [PATCH] week4 homework --- Week_04/id_36/LeetCode_169_036.java | 26 ++++++++++++++++++++++++++ Week_04/id_36/LeetCode_746_036.java | 29 +++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 Week_04/id_36/LeetCode_169_036.java create mode 100644 Week_04/id_36/LeetCode_746_036.java diff --git a/Week_04/id_36/LeetCode_169_036.java b/Week_04/id_36/LeetCode_169_036.java new file mode 100644 index 00000000..603033ec --- /dev/null +++ b/Week_04/id_36/LeetCode_169_036.java @@ -0,0 +1,26 @@ +package com.potato.leetcode; + +import java.util.HashMap; +import java.util.Map; + +public class LeetCode_169_036 { + public int majorityElement(int[] nums) { + Map map = new HashMap<>(); + int n = nums.length; + int count = 0; + for (int i : nums) { + if (map.containsKey(i)) { + count = map.get(i) + 1; + } else { + count = 1; + } + + if (count > n / 2) { + return i; + } + + map.put(i, count); + } + return -1; + } +} diff --git a/Week_04/id_36/LeetCode_746_036.java b/Week_04/id_36/LeetCode_746_036.java new file mode 100644 index 00000000..ea18d239 --- /dev/null +++ b/Week_04/id_36/LeetCode_746_036.java @@ -0,0 +1,29 @@ +package com.potato.leetcode; + +public class LeetCode_746_036 { + public int minCostClimbingStairs(int[] cost) { + if (cost == null) { + return 0; + } + + if (cost.length == 1) { + return cost[0]; + } + + if (cost.length == 2) { + return Math.min(cost[0], cost[1]); + } + + int[] tmp = new int[2]; + tmp[0] = cost[0]; + tmp[1] = cost[1]; + + int min = 0; + for (int i = 2; i < cost.length; i++) { + min = Math.min(tmp[0], tmp[1]); + tmp[0] = tmp[1]; + tmp[1] = min + cost[i]; + } + return Math.min(tmp[0], tmp[1]); + } +}