File tree 6 files changed +184
-4
lines changed
solution/2100-2199/2171.Removing Minimum Number of Magic Beans
6 files changed +184
-4
lines changed Original file line number Diff line number Diff line change 57
57
58
58
<!-- 这里可写通用的实现逻辑 -->
59
59
60
+ ** 方法一:排序求和**
61
+
60
62
<!-- tabs:start -->
61
63
62
64
### ** Python3**
63
65
64
66
<!-- 这里可写当前语言的特殊实现逻辑 -->
65
67
66
68
``` python
67
-
69
+ class Solution :
70
+ def minimumRemoval (self , beans : List[int ]) -> int :
71
+ beans.sort()
72
+ ans = s = sum (beans)
73
+ n = len (beans)
74
+ for i, v in enumerate (beans):
75
+ ans = min (ans, s - v * (n - i))
76
+ return ans
68
77
```
69
78
70
79
### ** Java**
71
80
72
81
<!-- 这里可写当前语言的特殊实现逻辑 -->
73
82
74
83
``` java
75
-
84
+ class Solution {
85
+ public long minimumRemoval (int [] beans ) {
86
+ Arrays . sort(beans);
87
+ long s = 0 ;
88
+ for (int v : beans) {
89
+ s += v;
90
+ }
91
+ long ans = s;
92
+ int n = beans. length;
93
+ for (int i = 0 ; i < n; ++ i) {
94
+ ans = Math . min(ans, s - (long ) beans[i] * (n - i));
95
+ }
96
+ return ans;
97
+ }
98
+ }
76
99
```
77
100
78
101
### ** TypeScript**
@@ -91,6 +114,47 @@ function minimumRemoval(beans: number[]): number {
91
114
}
92
115
```
93
116
117
+ ### ** C++**
118
+
119
+ ``` cpp
120
+ class Solution {
121
+ public:
122
+ long long minimumRemoval(vector<int >& beans) {
123
+ sort(beans.begin(), beans.end());
124
+ long long s = accumulate(beans.begin(), beans.end(), 0ll);
125
+ long long ans = s;
126
+ int n = beans.size();
127
+ for (int i = 0; i < n; ++i) ans = min(ans, s - 1ll * beans[ i] * (n - i));
128
+ return ans;
129
+ }
130
+ };
131
+ ```
132
+
133
+ ### **Go**
134
+
135
+ ```go
136
+ func minimumRemoval(beans []int) int64 {
137
+ sort.Ints(beans)
138
+ s := 0
139
+ for _, v := range beans {
140
+ s += v
141
+ }
142
+ ans := s
143
+ n := len(beans)
144
+ for i, v := range beans {
145
+ ans = min(ans, s-v*(n-i))
146
+ }
147
+ return int64(ans)
148
+ }
149
+
150
+ func min(a, b int) int {
151
+ if a < b {
152
+ return a
153
+ }
154
+ return b
155
+ }
156
+ ```
157
+
94
158
### ** ...**
95
159
96
160
```
Original file line number Diff line number Diff line change @@ -58,13 +58,34 @@ There are no other solutions that removes 7 beans or fewer.
58
58
### ** Python3**
59
59
60
60
``` python
61
-
61
+ class Solution :
62
+ def minimumRemoval (self , beans : List[int ]) -> int :
63
+ beans.sort()
64
+ ans = s = sum (beans)
65
+ n = len (beans)
66
+ for i, v in enumerate (beans):
67
+ ans = min (ans, s - v * (n - i))
68
+ return ans
62
69
```
63
70
64
71
### ** Java**
65
72
66
73
``` java
67
-
74
+ class Solution {
75
+ public long minimumRemoval (int [] beans ) {
76
+ Arrays . sort(beans);
77
+ long s = 0 ;
78
+ for (int v : beans) {
79
+ s += v;
80
+ }
81
+ long ans = s;
82
+ int n = beans. length;
83
+ for (int i = 0 ; i < n; ++ i) {
84
+ ans = Math . min(ans, s - (long ) beans[i] * (n - i));
85
+ }
86
+ return ans;
87
+ }
88
+ }
68
89
```
69
90
70
91
### ** TypeScript**
@@ -83,6 +104,47 @@ function minimumRemoval(beans: number[]): number {
83
104
}
84
105
```
85
106
107
+ ### ** C++**
108
+
109
+ ``` cpp
110
+ class Solution {
111
+ public:
112
+ long long minimumRemoval(vector<int >& beans) {
113
+ sort(beans.begin(), beans.end());
114
+ long long s = accumulate(beans.begin(), beans.end(), 0ll);
115
+ long long ans = s;
116
+ int n = beans.size();
117
+ for (int i = 0; i < n; ++i) ans = min(ans, s - 1ll * beans[ i] * (n - i));
118
+ return ans;
119
+ }
120
+ };
121
+ ```
122
+
123
+ ### **Go**
124
+
125
+ ```go
126
+ func minimumRemoval(beans []int) int64 {
127
+ sort.Ints(beans)
128
+ s := 0
129
+ for _, v := range beans {
130
+ s += v
131
+ }
132
+ ans := s
133
+ n := len(beans)
134
+ for i, v := range beans {
135
+ ans = min(ans, s-v*(n-i))
136
+ }
137
+ return int64(ans)
138
+ }
139
+
140
+ func min(a, b int) int {
141
+ if a < b {
142
+ return a
143
+ }
144
+ return b
145
+ }
146
+ ```
147
+
86
148
### ** ...**
87
149
88
150
```
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ long long minimumRemoval (vector<int >& beans) {
4
+ sort (beans.begin (), beans.end ());
5
+ long long s = accumulate (beans.begin (), beans.end (), 0ll );
6
+ long long ans = s;
7
+ int n = beans.size ();
8
+ for (int i = 0 ; i < n; ++i) ans = min (ans, s - 1ll * beans[i] * (n - i));
9
+ return ans;
10
+ }
11
+ };
Original file line number Diff line number Diff line change
1
+ func minimumRemoval (beans []int ) int64 {
2
+ sort .Ints (beans )
3
+ s := 0
4
+ for _ , v := range beans {
5
+ s += v
6
+ }
7
+ ans := s
8
+ n := len (beans )
9
+ for i , v := range beans {
10
+ ans = min (ans , s - v * (n - i ))
11
+ }
12
+ return int64 (ans )
13
+ }
14
+
15
+ func min (a , b int ) int {
16
+ if a < b {
17
+ return a
18
+ }
19
+ return b
20
+ }
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public long minimumRemoval (int [] beans ) {
3
+ Arrays .sort (beans );
4
+ long s = 0 ;
5
+ for (int v : beans ) {
6
+ s += v ;
7
+ }
8
+ long ans = s ;
9
+ int n = beans .length ;
10
+ for (int i = 0 ; i < n ; ++i ) {
11
+ ans = Math .min (ans , s - (long ) beans [i ] * (n - i ));
12
+ }
13
+ return ans ;
14
+ }
15
+ }
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def minimumRemoval (self , beans : List [int ]) -> int :
3
+ beans .sort ()
4
+ ans = s = sum (beans )
5
+ n = len (beans )
6
+ for i , v in enumerate (beans ):
7
+ ans = min (ans , s - v * (n - i ))
8
+ return ans
You can’t perform that action at this time.
0 commit comments