From 07fc2578e1404371c0efc3a76153f66f6b39993c Mon Sep 17 00:00:00 2001 From: Cool <747682928@qq.com> Date: Tue, 1 Oct 2024 14:01:23 +0800 Subject: [PATCH] =?UTF-8?q?2024/09/30=20=E5=AE=8C=E6=88=90hot100?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hot100/strange_skills_cunning/Num169.java | 31 ++++++++++ .../hot100/strange_skills_cunning/Num287.java | 18 ++++++ .../hot100/strange_skills_cunning/Num31.java | 58 +++++++++++++++++++ .../hot100/strange_skills_cunning/Num75.java | 35 +++++++++++ 4 files changed, 142 insertions(+) create mode 100644 src/main/java/com/cool/hot100/strange_skills_cunning/Num169.java create mode 100644 src/main/java/com/cool/hot100/strange_skills_cunning/Num287.java create mode 100644 src/main/java/com/cool/hot100/strange_skills_cunning/Num31.java create mode 100644 src/main/java/com/cool/hot100/strange_skills_cunning/Num75.java diff --git a/src/main/java/com/cool/hot100/strange_skills_cunning/Num169.java b/src/main/java/com/cool/hot100/strange_skills_cunning/Num169.java new file mode 100644 index 0000000..fb52d8a --- /dev/null +++ b/src/main/java/com/cool/hot100/strange_skills_cunning/Num169.java @@ -0,0 +1,31 @@ +package com.cool.hot100.strange_skills_cunning; + +/** + * Created with IntelliJ IDEA. + * + * @Author: Cool + * @Date: 2024/09/30/16:46 + * @Description: 169. 多数元素 + * DayNumber 1 + * Hard 1 + * Level 2 + * @link https://leetcode.cn/problems/majority-element/description/?envType=study-plan-v2&envId=top-100-liked + */ +public class Num169 { + public int majorityElement(int[] nums) { + int cur=nums[0]; + int curNum=1; + for(int i=1;i= 0; i--) { + if (nums[i] < nums[i + 1]) { + m = i; + break; + } + if (i == 0) { + reverse(nums, 0, nums.length); + return; + + } + } + for (int i = nums.length - 1; i >= 0; i--) { + if (nums[i] > nums[m]) { + swap(nums, i, m); + reverse(nums, m + 1, nums.length); + return; + } + } + } + + public void swap(int[] nums, int i, int j) { + int temp = nums[i]; + nums[i] = nums[j]; + nums[j] = temp; + } + + private void reverse(int[] nums, int left, int right) { + right--; + while (left < right) { + swap(nums, left++, right--); + } + } + @Test + public void test(){ + nextPermutation(new int[]{3,1,2}); + } +} diff --git a/src/main/java/com/cool/hot100/strange_skills_cunning/Num75.java b/src/main/java/com/cool/hot100/strange_skills_cunning/Num75.java new file mode 100644 index 0000000..c16da01 --- /dev/null +++ b/src/main/java/com/cool/hot100/strange_skills_cunning/Num75.java @@ -0,0 +1,35 @@ +package com.cool.hot100.strange_skills_cunning; + +/** + * Created with IntelliJ IDEA. + * + * @Author: Cool + * @Date: 2024/09/30/16:50 + * @Description: 75. 颜色分类 + * Level 4 + * Hard 2 + * DayNumber 2 + * @link https://leetcode.cn/problems/sort-colors/description/?envType=study-plan-v2&envId=top-100-liked + */ +public class Num75 { + + public void sortColors(int[] nums) { + int head = 0; + int end = nums.length - 1; + for (int i = 0; i <= end; i++) { + while (i <= end && nums[i] == 2) { + int temp = nums[end]; + nums[end] = nums[i]; + nums[i] = temp; + end--; + } + if (nums[i] == 0) { + int temp = nums[head]; + nums[head] = nums[i]; + nums[i] = temp; + head++; + } + } + } + +}