From e820af55abf9d5f0d549ae17bb92c6fbfc161114 Mon Sep 17 00:00:00 2001 From: "huangge1199@hotmail.com" Date: Sun, 10 Oct 2021 20:16:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=A8=E8=B5=9B262?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/code/leet/week/Solution262.java | 91 +++++++++++++++++++ .../java/com/code/leet/week/StockPrice.java | 50 ++++++++++ 2 files changed, 141 insertions(+) create mode 100644 src/main/java/com/code/leet/week/Solution262.java create mode 100644 src/main/java/com/code/leet/week/StockPrice.java diff --git a/src/main/java/com/code/leet/week/Solution262.java b/src/main/java/com/code/leet/week/Solution262.java new file mode 100644 index 0000000..3e34445 --- /dev/null +++ b/src/main/java/com/code/leet/week/Solution262.java @@ -0,0 +1,91 @@ +package com.code.leet.week; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * @description: + * @author: Administrator + * @date: 2021/8/22-10:29 + */ +public class Solution262 { + public static void main(String[] args) { + Solution262 solution = new Solution262(); +// solution.minOperations(new int[][]{{2,4},{6,8}},2); +// solution.minOperations(new int[][]{{931, 128}, {639, 712}}, 73); + StockPrice stockPrice = new StockPrice(); + stockPrice.update(1,10); + stockPrice.update(2,5); + stockPrice.current(); + } + + public List twoOutOfThree(int[] nums1, int[] nums2, int[] nums3) { + List temp = new ArrayList<>(); + Arrays.sort(nums1); + Arrays.sort(nums2); + Arrays.sort(nums3); + for (int i = 0; i < nums1.length; i++) { + if (i == 0 || nums1[i] != nums1[i - 1]) { + temp.add(nums1[i]); + } + } + List result = new ArrayList<>(); + for (int i = 0; i < nums2.length; i++) { + if (i == 0 || nums2[i] != nums2[i - 1]) { + int num = nums2[i]; + if (temp.contains(num)) { + if (!result.contains(num)) { + result.add(num); + } + } else { + temp.add(num); + } + } + } + for (int i = 0; i < nums3.length; i++) { + if (i == 0 || nums3[i] != nums3[i - 1]) { + int num = nums3[i]; + if (temp.contains(num)) { + if (!result.contains(num)) { + result.add(num); + } + } else { + temp.add(num); + } + } + } + return result; + } + + public int minOperations(int[][] grid, int x) { + List list = new ArrayList<>(); + for (int[] ints : grid) { + for (int j = 0; j < grid[0].length; j++) { + list.add(ints[j]); + } + } + Collections.sort(list); + int num = list.get(0); + list.set(0, 0); + boolean bl = true; + int sum = 0; + for (int i = 1; i < list.size(); i++) { + if ((list.get(i) - num) % x == 0) { + list.set(i, (list.get(i) - num) / x); + sum += list.get(i); + } else { + bl = false; + break; + } + } + int bef = sum; + for (int i = 1; i < list.size(); i++) { + bef += (-list.size() + 2 * i) * list.get(i); + sum = Math.min(sum, bef); + } + return bl ? sum : -1; + } + +} diff --git a/src/main/java/com/code/leet/week/StockPrice.java b/src/main/java/com/code/leet/week/StockPrice.java new file mode 100644 index 0000000..3d36247 --- /dev/null +++ b/src/main/java/com/code/leet/week/StockPrice.java @@ -0,0 +1,50 @@ +package com.code.leet.week; + +import java.util.HashMap; +import java.util.Map; + +/** + * @description: + * @author: Administrator + * @date: 2021/10/10-11:53 + */ +class StockPrice { + + Map map; + int max; + int min; + int cur; + int price; + + public StockPrice() { + map = new HashMap<>(); + max = Integer.MIN_VALUE; + min = Integer.MAX_VALUE; + cur = 0; + } + + public void update(int timestamp, int price) { + map.put(timestamp, price); + if (timestamp >= cur) { + this.price = price; + } + max = price; + min = price; + for (int key : map.keySet()) { + max = Math.max(max, map.get(key)); + min = Math.min(min, map.get(key)); + } + } + + public int current() { + return price; + } + + public int maximum() { + return max; + } + + public int minimum() { + return min; + } +}