Skip to content

Commit 9fd86bd

Browse files
committed
feat: add solutions to lc problem: No.1991
No.1991.Find the Middle Index in Array
1 parent a360e56 commit 9fd86bd

File tree

6 files changed

+156
-33
lines changed

6 files changed

+156
-33
lines changed

solution/1900-1999/1991.Find the Middle Index in Array/README.md

Lines changed: 59 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,45 @@
6767

6868
<!-- tabs:start -->
6969

70+
### **Python3**
71+
72+
<!-- 这里可写当前语言的特殊实现逻辑 -->
73+
74+
```python
75+
class Solution:
76+
def findMiddleIndex(self, nums: List[int]) -> int:
77+
s = sum(nums)
78+
total = 0
79+
for i, num in enumerate(nums):
80+
total += num
81+
if total - num == s - total:
82+
return i
83+
return -1
84+
```
85+
86+
### **Java**
87+
88+
<!-- 这里可写当前语言的特殊实现逻辑 -->
89+
90+
```java
91+
class Solution {
92+
public int findMiddleIndex(int[] nums) {
93+
int s = 0;
94+
for (int num : nums) {
95+
s += num;
96+
}
97+
int total = 0;
98+
for (int i = 0; i < nums.length; ++i) {
99+
total += nums[i];
100+
if (total - nums[i] == s - total) {
101+
return i;
102+
}
103+
}
104+
return -1;
105+
}
106+
}
107+
```
108+
70109
### **C++**
71110

72111
```cpp
@@ -75,12 +114,12 @@ public:
75114
int findMiddleIndex(vector<int>& nums) {
76115
int sum = 0;
77116
int total = 0;
78-
for(int num: nums)
117+
for (int num: nums)
79118
sum += num;
80119

81-
for(int i = 0; i < nums.size(); i++) {
120+
for (int i = 0; i < nums.size(); i++) {
82121
total += nums[i];
83-
if(total - nums[i] == sum - total)
122+
if (total - nums[i] == sum - total)
84123
return i;
85124
}
86125

@@ -89,20 +128,23 @@ public:
89128
};
90129
```
91130

92-
### **Python3**
93-
94-
<!-- 这里可写当前语言的特殊实现逻辑 -->
95-
96-
```python
97-
98-
```
99-
100-
### **Java**
101-
102-
<!-- 这里可写当前语言的特殊实现逻辑 -->
103-
104-
```java
105-
131+
### **Go**
132+
133+
```go
134+
func findMiddleIndex(nums []int) int {
135+
s := 0
136+
for _, num := range nums {
137+
s += num
138+
}
139+
total := 0
140+
for i, num := range nums {
141+
total += num
142+
if total-num == s-total {
143+
return i
144+
}
145+
}
146+
return -1
147+
}
106148
```
107149

108150
### **...**

solution/1900-1999/1991.Find the Middle Index in Array/README_EN.md

Lines changed: 55 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,41 @@ The sum of the numbers after index 0 is: 0
6565

6666
<!-- tabs:start -->
6767

68+
### **Python3**
69+
70+
```python
71+
class Solution:
72+
def findMiddleIndex(self, nums: List[int]) -> int:
73+
s = sum(nums)
74+
total = 0
75+
for i, num in enumerate(nums):
76+
total += num
77+
if total - num == s - total:
78+
return i
79+
return -1
80+
```
81+
82+
### **Java**
83+
84+
```java
85+
class Solution {
86+
public int findMiddleIndex(int[] nums) {
87+
int s = 0;
88+
for (int num : nums) {
89+
s += num;
90+
}
91+
int total = 0;
92+
for (int i = 0; i < nums.length; ++i) {
93+
total += nums[i];
94+
if (total - nums[i] == s - total) {
95+
return i;
96+
}
97+
}
98+
return -1;
99+
}
100+
}
101+
```
102+
68103
### **C++**
69104

70105
```cpp
@@ -73,12 +108,12 @@ public:
73108
int findMiddleIndex(vector<int>& nums) {
74109
int sum = 0;
75110
int total = 0;
76-
for(int num: nums)
111+
for (int num: nums)
77112
sum += num;
78113

79-
for(int i = 0; i < nums.size(); i++) {
114+
for (int i = 0; i < nums.size(); i++) {
80115
total += nums[i];
81-
if(total - nums[i] == sum - total)
116+
if (total - nums[i] == sum - total)
82117
return i;
83118
}
84119

@@ -87,16 +122,23 @@ public:
87122
};
88123
```
89124

90-
### **Python3**
91-
92-
```python
93-
94-
```
95-
96-
### **Java**
97-
98-
```java
99-
125+
### **Go**
126+
127+
```go
128+
func findMiddleIndex(nums []int) int {
129+
s := 0
130+
for _, num := range nums {
131+
s += num
132+
}
133+
total := 0
134+
for i, num := range nums {
135+
total += num
136+
if total-num == s-total {
137+
return i
138+
}
139+
}
140+
return -1
141+
}
100142
```
101143

102144
### **...**

solution/1900-1999/1991.Find the Middle Index in Array/Solution.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ class Solution {
33
int findMiddleIndex(vector<int>& nums) {
44
int sum = 0;
55
int total = 0;
6-
for(int num: nums)
6+
for (int num: nums)
77
sum += num;
88

9-
for(int i = 0; i < nums.size(); i++) {
9+
for (int i = 0; i < nums.size(); i++) {
1010
total += nums[i];
11-
if(total - nums[i] == sum - total)
11+
if (total - nums[i] == sum - total)
1212
return i;
1313
}
1414

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
func findMiddleIndex(nums []int) int {
2+
s := 0
3+
for _, num := range nums {
4+
s += num
5+
}
6+
total := 0
7+
for i, num := range nums {
8+
total += num
9+
if total-num == s-total {
10+
return i
11+
}
12+
}
13+
return -1
14+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
public int findMiddleIndex(int[] nums) {
3+
int s = 0;
4+
for (int num : nums) {
5+
s += num;
6+
}
7+
int total = 0;
8+
for (int i = 0; i < nums.length; ++i) {
9+
total += nums[i];
10+
if (total - nums[i] == s - total) {
11+
return i;
12+
}
13+
}
14+
return -1;
15+
}
16+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Solution:
2+
def findMiddleIndex(self, nums: List[int]) -> int:
3+
s = sum(nums)
4+
total = 0
5+
for i, num in enumerate(nums):
6+
total += num
7+
if total - num == s - total:
8+
return i
9+
return -1

0 commit comments

Comments
 (0)