Skip to content

Commit a92fdd8

Browse files
committedJul 22, 2022
feat: add solutions to lc problem: No.0945
No.0945.Minimum Increment to Make Array Unique
1 parent 8fdbc74 commit a92fdd8

File tree

6 files changed

+179
-2
lines changed

6 files changed

+179
-2
lines changed
 

‎solution/0900-0999/0945.Minimum Increment to Make Array Unique/README.md

+64-1
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,85 @@
4444

4545
<!-- 这里可写通用的实现逻辑 -->
4646

47+
**方法一:排序 + 贪心**
48+
4749
<!-- tabs:start -->
4850

4951
### **Python3**
5052

5153
<!-- 这里可写当前语言的特殊实现逻辑 -->
5254

5355
```python
54-
56+
class Solution:
57+
def minIncrementForUnique(self, nums: List[int]) -> int:
58+
nums.sort()
59+
ans = 0
60+
for i in range(1, len(nums)):
61+
if nums[i] <= nums[i - 1]:
62+
d = nums[i - 1] - nums[i] + 1
63+
nums[i] += d
64+
ans += d
65+
return ans
5566
```
5667

5768
### **Java**
5869

5970
<!-- 这里可写当前语言的特殊实现逻辑 -->
6071

6172
```java
73+
class Solution {
74+
public int minIncrementForUnique(int[] nums) {
75+
Arrays.sort(nums);
76+
int ans = 0;
77+
for (int i = 1; i < nums.length; ++i) {
78+
if (nums[i] <= nums[i - 1]) {
79+
int d = nums[i - 1] - nums[i] + 1;
80+
nums[i] += d;
81+
ans += d;
82+
}
83+
}
84+
return ans;
85+
}
86+
}
87+
```
88+
89+
### **C++**
90+
91+
```cpp
92+
class Solution {
93+
public:
94+
int minIncrementForUnique(vector<int>& nums) {
95+
sort(nums.begin(), nums.end());
96+
int ans = 0;
97+
for (int i = 1; i < nums.size(); ++i)
98+
{
99+
if (nums[i] <= nums[i - 1])
100+
{
101+
int d = nums[i - 1] - nums[i] + 1;
102+
nums[i] += d;
103+
ans += d;
104+
}
105+
}
106+
return ans;
107+
}
108+
};
109+
```
62110
111+
### **Go**
112+
113+
```go
114+
func minIncrementForUnique(nums []int) int {
115+
sort.Ints(nums)
116+
ans := 0
117+
for i := 1; i < len(nums); i++ {
118+
if nums[i] <= nums[i-1] {
119+
d := nums[i-1] - nums[i] + 1
120+
nums[i] += d
121+
ans += d
122+
}
123+
}
124+
return ans
125+
}
63126
```
64127

65128
### **...**

‎solution/0900-0999/0945.Minimum Increment to Make Array Unique/README_EN.md

+62-1
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,74 @@ It can be shown with 5 or less moves that it is impossible for the array to have
4343
### **Python3**
4444

4545
```python
46-
46+
class Solution:
47+
def minIncrementForUnique(self, nums: List[int]) -> int:
48+
nums.sort()
49+
ans = 0
50+
for i in range(1, len(nums)):
51+
if nums[i] <= nums[i - 1]:
52+
d = nums[i - 1] - nums[i] + 1
53+
nums[i] += d
54+
ans += d
55+
return ans
4756
```
4857

4958
### **Java**
5059

5160
```java
61+
class Solution {
62+
public int minIncrementForUnique(int[] nums) {
63+
Arrays.sort(nums);
64+
int ans = 0;
65+
for (int i = 1; i < nums.length; ++i) {
66+
if (nums[i] <= nums[i - 1]) {
67+
int d = nums[i - 1] - nums[i] + 1;
68+
nums[i] += d;
69+
ans += d;
70+
}
71+
}
72+
return ans;
73+
}
74+
}
75+
```
76+
77+
### **C++**
78+
79+
```cpp
80+
class Solution {
81+
public:
82+
int minIncrementForUnique(vector<int>& nums) {
83+
sort(nums.begin(), nums.end());
84+
int ans = 0;
85+
for (int i = 1; i < nums.size(); ++i)
86+
{
87+
if (nums[i] <= nums[i - 1])
88+
{
89+
int d = nums[i - 1] - nums[i] + 1;
90+
nums[i] += d;
91+
ans += d;
92+
}
93+
}
94+
return ans;
95+
}
96+
};
97+
```
5298
99+
### **Go**
100+
101+
```go
102+
func minIncrementForUnique(nums []int) int {
103+
sort.Ints(nums)
104+
ans := 0
105+
for i := 1; i < len(nums); i++ {
106+
if nums[i] <= nums[i-1] {
107+
d := nums[i-1] - nums[i] + 1
108+
nums[i] += d
109+
ans += d
110+
}
111+
}
112+
return ans
113+
}
53114
```
54115

55116
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class Solution {
2+
public:
3+
int minIncrementForUnique(vector<int>& nums) {
4+
sort(nums.begin(), nums.end());
5+
int ans = 0;
6+
for (int i = 1; i < nums.size(); ++i)
7+
{
8+
if (nums[i] <= nums[i - 1])
9+
{
10+
int d = nums[i - 1] - nums[i] + 1;
11+
nums[i] += d;
12+
ans += d;
13+
}
14+
}
15+
return ans;
16+
}
17+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
func minIncrementForUnique(nums []int) int {
2+
sort.Ints(nums)
3+
ans := 0
4+
for i := 1; i < len(nums); i++ {
5+
if nums[i] <= nums[i-1] {
6+
d := nums[i-1] - nums[i] + 1
7+
nums[i] += d
8+
ans += d
9+
}
10+
}
11+
return ans
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution {
2+
public int minIncrementForUnique(int[] nums) {
3+
Arrays.sort(nums);
4+
int ans = 0;
5+
for (int i = 1; i < nums.length; ++i) {
6+
if (nums[i] <= nums[i - 1]) {
7+
int d = nums[i - 1] - nums[i] + 1;
8+
nums[i] += d;
9+
ans += d;
10+
}
11+
}
12+
return ans;
13+
}
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution:
2+
def minIncrementForUnique(self, nums: List[int]) -> int:
3+
nums.sort()
4+
ans = 0
5+
for i in range(1, len(nums)):
6+
if nums[i] <= nums[i - 1]:
7+
d = nums[i - 1] - nums[i] + 1
8+
nums[i] += d
9+
ans += d
10+
return ans

0 commit comments

Comments
 (0)