feat: 添加了LeetCode496, LeetCode503, LeetCode33, LeetCode739的解答
This commit is contained in:
parent
bd1472ccf2
commit
b980f346ba
33
src/main/java/cn/whaifree/redo/redoAll/LeetCode33.java
Normal file
33
src/main/java/cn/whaifree/redo/redoAll/LeetCode33.java
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package cn.whaifree.redo.redoAll;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @version 1.0
|
||||||
|
* @Author whai文海
|
||||||
|
* @Date 2024/8/27 0:05
|
||||||
|
* @注释
|
||||||
|
*/
|
||||||
|
public class LeetCode33 {
|
||||||
|
|
||||||
|
class Solution {
|
||||||
|
/**
|
||||||
|
* MA k MB
|
||||||
|
* [leftA,.... ,leftB] [rightA,.....,rightB]
|
||||||
|
*
|
||||||
|
* if nums[mid] > target
|
||||||
|
* left = MA
|
||||||
|
* else
|
||||||
|
* right =
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param nums
|
||||||
|
* @param target
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int search(int[] nums, int target) {
|
||||||
|
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
51
src/main/java/cn/whaifree/redo/redoAll/LeetCode496.java
Normal file
51
src/main/java/cn/whaifree/redo/redoAll/LeetCode496.java
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
package cn.whaifree.redo.redoAll;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Deque;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @version 1.0
|
||||||
|
* @Author whai文海
|
||||||
|
* @Date 2024/8/26 23:30
|
||||||
|
* @注释
|
||||||
|
*/
|
||||||
|
public class LeetCode496 {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() {
|
||||||
|
int[] ints = new Solution().nextGreaterElement(new int[]{4,1,2}, new int[]{1,3,4,2});
|
||||||
|
for (int anInt : ints) {
|
||||||
|
System.out.println(anInt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Solution {
|
||||||
|
public int[] nextGreaterElement(int[] nums1, int[] nums2) {
|
||||||
|
|
||||||
|
HashMap<Integer, Integer> map = new HashMap<>();
|
||||||
|
|
||||||
|
Deque<Integer> stack = new LinkedList<>();
|
||||||
|
int[] res = new int[nums2.length];
|
||||||
|
Arrays.fill(res, -1);
|
||||||
|
for (int i = 0; i < nums2.length; i++) {
|
||||||
|
map.put(nums2[i], i);
|
||||||
|
while (!stack.isEmpty() && nums2[stack.peek()] < nums2[i]) {
|
||||||
|
res[stack.peek()] = nums2[i];
|
||||||
|
stack.pop();
|
||||||
|
}
|
||||||
|
stack.push(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
int[] result = new int[nums1.length];
|
||||||
|
for (int i = 0; i < nums1.length; i++) {
|
||||||
|
result[i] = res[map.get(nums1[i])];
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
50
src/main/java/cn/whaifree/redo/redoAll/LeetCode503.java
Normal file
50
src/main/java/cn/whaifree/redo/redoAll/LeetCode503.java
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
package cn.whaifree.redo.redoAll;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Deque;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @version 1.0
|
||||||
|
* @Author whai文海
|
||||||
|
* @Date 2024/8/26 23:45
|
||||||
|
* @注释
|
||||||
|
*/
|
||||||
|
public class LeetCode503 {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() {
|
||||||
|
int[] ints = new Solution().nextGreaterElements(new int[]{1,2,1});
|
||||||
|
for (int anInt : ints) {
|
||||||
|
System.out.println(anInt);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class Solution {
|
||||||
|
public int[] nextGreaterElements(int[] nums) {
|
||||||
|
int[] newNums = new int[nums.length * 2];
|
||||||
|
for (int i = 0; i < newNums.length; i++) {
|
||||||
|
newNums[i] = nums[i % nums.length];
|
||||||
|
}
|
||||||
|
|
||||||
|
int[] res = new int[nums.length * 2];
|
||||||
|
Deque<Integer> stack = new LinkedList<>();
|
||||||
|
Arrays.fill(res, -1);
|
||||||
|
for (int i = 0; i < newNums.length; i++) {
|
||||||
|
while (!stack.isEmpty() && newNums[stack.peek()] < newNums[i]) {
|
||||||
|
res[stack.peek()] = newNums[i];
|
||||||
|
stack.pop();
|
||||||
|
}
|
||||||
|
stack.push(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Arrays.copyOf(res, nums.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
44
src/main/java/cn/whaifree/redo/redoAll/LeetCode739.java
Normal file
44
src/main/java/cn/whaifree/redo/redoAll/LeetCode739.java
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
package cn.whaifree.redo.redoAll;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Deque;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @version 1.0
|
||||||
|
* @Author whai文海
|
||||||
|
* @Date 2024/8/26 22:57
|
||||||
|
* @注释
|
||||||
|
*/
|
||||||
|
public class LeetCode739 {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() {
|
||||||
|
int[] temperatures = {30,40,50,60};
|
||||||
|
int[] ints = new Solution().dailyTemperatures(temperatures);
|
||||||
|
for (int anInt : ints) {
|
||||||
|
System.out.println(anInt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class Solution {
|
||||||
|
public int[] dailyTemperatures(int[] temperatures) {
|
||||||
|
Deque<Integer> stack = new LinkedList<>();
|
||||||
|
stack.push(0);
|
||||||
|
|
||||||
|
int[] res = new int[temperatures.length];
|
||||||
|
for (int i = 1; i < temperatures.length; i++) {
|
||||||
|
Integer peek = stack.peek();
|
||||||
|
while (!stack.isEmpty() && temperatures[peek] < temperatures[i]) {
|
||||||
|
res[peek] = i - peek;
|
||||||
|
stack.pop();
|
||||||
|
peek = stack.peek();
|
||||||
|
}
|
||||||
|
stack.push(i);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user