LeetCode/cs/maximum-number-of-integers-to-choose-from-a-range-i.cs

20 lines
511 B
C#

public class Solution {
public int MaxCount(int[] banned, int n, int maxSum) {
Array.Sort(banned);
int idx = 0, used = 0;
for (int i = 1; i <= n && maxSum > 0; ++i) {
var skip = idx < banned.Length && banned[idx] == i;
while (idx < banned.Length && banned[idx] == i) {
++idx;
}
if (!skip && maxSum - i >= 0) {
maxSum -= i;
++used;
}
}
return used;
}
}