Skip to content

Commit 2a64766

Browse files
committed
feat: add solutions to lc problem: No.2535
No.2535.Difference Between Element Sum and Digit Sum of an Array
1 parent 78e99bf commit 2a64766

File tree

5 files changed

+135
-0
lines changed

5 files changed

+135
-0
lines changed

solution/2500-2599/2535.Difference Between Element Sum and Digit Sum of an Array/README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,56 @@ func abs(x int) int {
136136
}
137137
```
138138

139+
### **TypeScript**
140+
141+
```ts
142+
function differenceOfSum(nums: number[]): number {
143+
return nums.reduce((r, v) => {
144+
r += v;
145+
while (v !== 0) {
146+
r -= v % 10;
147+
v = Math.floor(v / 10);
148+
}
149+
return r;
150+
}, 0);
151+
}
152+
```
153+
154+
### **Rust**
155+
156+
```rust
157+
impl Solution {
158+
pub fn difference_of_sum(nums: Vec<i32>) -> i32 {
159+
let mut ans = 0;
160+
for &num in nums.iter() {
161+
let mut num = num;
162+
ans += num;
163+
while num != 0 {
164+
ans -= num % 10;
165+
num /= 10;
166+
}
167+
}
168+
ans
169+
}
170+
}
171+
```
172+
173+
### **C**
174+
175+
```c
176+
int differenceOfSum(int *nums, int numsSize) {
177+
int ans = 0;
178+
for (int i = 0; i < numsSize; i++) {
179+
ans += nums[i];
180+
while (nums[i]) {
181+
ans -= nums[i] % 10;
182+
nums[i] /= 10;
183+
}
184+
}
185+
return ans;
186+
}
187+
```
188+
139189
### **...**
140190
141191
```

solution/2500-2599/2535.Difference Between Element Sum and Digit Sum of an Array/README_EN.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,56 @@ func abs(x int) int {
120120
}
121121
```
122122

123+
### **TypeScript**
124+
125+
```ts
126+
function differenceOfSum(nums: number[]): number {
127+
return nums.reduce((r, v) => {
128+
r += v;
129+
while (v !== 0) {
130+
r -= v % 10;
131+
v = Math.floor(v / 10);
132+
}
133+
return r;
134+
}, 0);
135+
}
136+
```
137+
138+
### **Rust**
139+
140+
```rust
141+
impl Solution {
142+
pub fn difference_of_sum(nums: Vec<i32>) -> i32 {
143+
let mut ans = 0;
144+
for &num in nums.iter() {
145+
let mut num = num;
146+
ans += num;
147+
while num != 0 {
148+
ans -= num % 10;
149+
num /= 10;
150+
}
151+
}
152+
ans
153+
}
154+
}
155+
```
156+
157+
### **C**
158+
159+
```c
160+
int differenceOfSum(int *nums, int numsSize) {
161+
int ans = 0;
162+
for (int i = 0; i < numsSize; i++) {
163+
ans += nums[i];
164+
while (nums[i]) {
165+
ans -= nums[i] % 10;
166+
nums[i] /= 10;
167+
}
168+
}
169+
return ans;
170+
}
171+
```
172+
123173
### **...**
124174
125175
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
int differenceOfSum(int *nums, int numsSize) {
2+
int ans = 0;
3+
for (int i = 0; i < numsSize; i++) {
4+
ans += nums[i];
5+
while (nums[i]) {
6+
ans -= nums[i] % 10;
7+
nums[i] /= 10;
8+
}
9+
}
10+
return ans;
11+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
impl Solution {
2+
pub fn difference_of_sum(nums: Vec<i32>) -> i32 {
3+
let mut ans = 0;
4+
for &num in nums.iter() {
5+
let mut num = num;
6+
ans += num;
7+
while num != 0 {
8+
ans -= num % 10;
9+
num /= 10;
10+
}
11+
}
12+
ans
13+
}
14+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
function differenceOfSum(nums: number[]): number {
2+
return nums.reduce((r, v) => {
3+
r += v;
4+
while (v !== 0) {
5+
r -= v % 10;
6+
v = Math.floor(v / 10);
7+
}
8+
return r;
9+
}, 0);
10+
}

0 commit comments

Comments
 (0)