Skip to content

Commit 153f827

Browse files
committedDec 16, 2022
feat: add solutions to lc problem: No.1785
No.1785.Minimum Elements to Add to Form a Given Sum
1 parent 425db88 commit 153f827

File tree

5 files changed

+105
-0
lines changed

5 files changed

+105
-0
lines changed
 

‎solution/1700-1799/1785.Minimum Elements to Add to Form a Given Sum/README.md

+40
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,46 @@ func abs(x int) int {
117117
}
118118
```
119119

120+
### **TypeScript**
121+
122+
```ts
123+
function minElements(nums: number[], limit: number, goal: number): number {
124+
const sum = nums.reduce((r, v) => r + v, 0);
125+
const diff = Math.abs(goal - sum);
126+
return Math.floor((diff + limit - 1) / limit);
127+
}
128+
```
129+
130+
### **Rust**
131+
132+
```rust
133+
impl Solution {
134+
pub fn min_elements(nums: Vec<i32>, limit: i32, goal: i32) -> i32 {
135+
let limit = limit as i64;
136+
let goal = goal as i64;
137+
let mut sum = 0;
138+
for &num in nums.iter() {
139+
sum += num as i64;
140+
}
141+
let diff = (goal - sum).abs();
142+
((diff + limit - 1) / limit) as i32
143+
}
144+
}
145+
```
146+
147+
### **C**
148+
149+
```c
150+
int minElements(int *nums, int numsSize, int limit, int goal) {
151+
long long sum = 0;
152+
for (int i = 0; i < numsSize; i++) {
153+
sum += nums[i];
154+
}
155+
long long diff = labs(goal - sum);
156+
return (diff + limit - 1) / limit;
157+
}
158+
```
159+
120160
### **...**
121161
122162
```

‎solution/1700-1799/1785.Minimum Elements to Add to Form a Given Sum/README_EN.md

+40
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,46 @@ func abs(x int) int {
9797
}
9898
```
9999

100+
### **TypeScript**
101+
102+
```ts
103+
function minElements(nums: number[], limit: number, goal: number): number {
104+
const sum = nums.reduce((r, v) => r + v, 0);
105+
const diff = Math.abs(goal - sum);
106+
return Math.floor((diff + limit - 1) / limit);
107+
}
108+
```
109+
110+
### **Rust**
111+
112+
```rust
113+
impl Solution {
114+
pub fn min_elements(nums: Vec<i32>, limit: i32, goal: i32) -> i32 {
115+
let limit = limit as i64;
116+
let goal = goal as i64;
117+
let mut sum = 0;
118+
for &num in nums.iter() {
119+
sum += num as i64;
120+
}
121+
let diff = (goal - sum).abs();
122+
((diff + limit - 1) / limit) as i32
123+
}
124+
}
125+
```
126+
127+
### **C**
128+
129+
```c
130+
int minElements(int *nums, int numsSize, int limit, int goal) {
131+
long long sum = 0;
132+
for (int i = 0; i < numsSize; i++) {
133+
sum += nums[i];
134+
}
135+
long long diff = labs(goal - sum);
136+
return (diff + limit - 1) / limit;
137+
}
138+
```
139+
100140
### **...**
101141
102142
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
int minElements(int *nums, int numsSize, int limit, int goal) {
2+
long long sum = 0;
3+
for (int i = 0; i < numsSize; i++) {
4+
sum += nums[i];
5+
}
6+
long long diff = labs(goal - sum);
7+
return (diff + limit - 1) / limit;
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
impl Solution {
2+
pub fn min_elements(nums: Vec<i32>, limit: i32, goal: i32) -> i32 {
3+
let limit = limit as i64;
4+
let goal = goal as i64;
5+
let mut sum = 0;
6+
for &num in nums.iter() {
7+
sum += num as i64;
8+
}
9+
let diff = (goal - sum).abs();
10+
((diff + limit - 1) / limit) as i32
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
function minElements(nums: number[], limit: number, goal: number): number {
2+
const sum = nums.reduce((r, v) => r + v, 0);
3+
const diff = Math.abs(goal - sum);
4+
return Math.floor((diff + limit - 1) / limit);
5+
}

0 commit comments

Comments
 (0)