Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
534 changes: 203 additions & 331 deletions tests/1001-1500/1124. longest-well-performing-interval/manifest.yaml

Large diffs are not rendered by default.

18 changes: 9 additions & 9 deletions tests/1001-1500/1124. longest-well-performing-interval/sol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@ class Solution {
public:
int longestWPI(vector<int>& hours) {
int score = 0;
int longest_interval = 0;
unordered_map<int, int> seen_at;
seen_at[0] = -1;
int longestInterval = 0;
unordered_map<int, int> seenAt;
seenAt[0] = -1;

for (int i = 0; i < hours.size(); i++) {
score += hours[i] > 8 ? 1 : -1;

if (score > 0) {
longest_interval = i + 1;
} else if (seen_at.count(score - 1)) {
longest_interval = max(longest_interval, i - seen_at[score - 1]);
longestInterval = i + 1;
} else if (seenAt.count(score - 1)) {
longestInterval = max(longestInterval, i - seenAt[score - 1]);
}

if (!seen_at.count(score)) {
seen_at[score] = i;
if (!seenAt.count(score)) {
seenAt[score] = i;
}
}

return longest_interval;
return longestInterval;
}
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ public class Solution {
public int LongestWPI(int[] hours) {
int score = 0;
int longestInterval = 0;
var seenAt = new Dictionary<int, int>();
Dictionary<int, int> seenAt = new Dictionary<int, int>();
seenAt[0] = -1;

for (int i = 0; i < hours.Length; i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ class Solution {
if (score > 0) {
longestInterval = i + 1;
} else if (seenAt.containsKey(score - 1)) {
longestInterval = max(longestInterval, i - seenAt[score - 1]!);
int candidate = i - seenAt[score - 1]!;
if (candidate > longestInterval) {
longestInterval = candidate;
}
}

if (!seenAt.containsKey(score)) {
Expand All @@ -20,6 +23,4 @@ class Solution {

return longestInterval;
}

int max(int a, int b) => a > b ? a : b;
}
6 changes: 3 additions & 3 deletions tests/1001-1500/1124. longest-well-performing-interval/sol.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ func longestWPI(hours []int) int {

if score > 0 {
longestInterval = i + 1
} else if val, ok := seenAt[score-1]; ok {
if i - val > longestInterval {
longestInterval = i - val
} else if idx, ok := seenAt[score-1]; ok {
if i - idx > longestInterval {
longestInterval = i - idx
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@ def longest_wpi(hours)
longest_interval = [longest_interval, i - seen_at[score - 1]].max
end

unless seen_at.key?(score)
seen_at[score] = i
end
seen_at[score] = i unless seen_at.key?(score)
end

longest_interval
Expand Down
10 changes: 5 additions & 5 deletions tests/1001-1500/1124. longest-well-performing-interval/sol.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
impl Solution {
pub fn longest_wpi(hours: Vec<i32>) -> i32 {
let mut score: i32 = 0;
let mut longest_interval: i32 = 0;
let mut seen_at: std::collections::HashMap<i32, i32> = std::collections::HashMap::new();
let mut score = 0;
let mut longest_interval = 0;
let mut seen_at = std::collections::HashMap::new();
seen_at.insert(0, -1);

for (i, &h) in hours.iter().enumerate() {
score += if h > 8 { 1 } else { -1 };
for i in 0..hours.len() {
score += if hours[i] > 8 { 1 } else { -1 };

if score > 0 {
longest_interval = i as i32 + 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ class Solution {
var longestInterval = 0
var seenAt = [0: -1]

for (i, h) in hours.enumerated() {
score += h > 8 ? 1 : -1
for i in 0..<hours.count {
score += hours[i] > 8 ? 1 : -1

if score > 0 {
longestInterval = i + 1
Expand Down
251 changes: 251 additions & 0 deletions tests/1001-1500/1125. smallest-sufficient-team/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -597,3 +597,254 @@ tests:
- ["b"]
- ["rare"]
- ["a", "b", "rare"]
- name: max-people-late-four-block-team
in:
req_skills:
[
"s0",
"s1",
"s2",
"s3",
"s4",
"s5",
"s6",
"s7",
"s8",
"s9",
"s10",
"s11",
"s12",
"s13",
"s14",
"s15",
]
people:
elemType: "string"
value:
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- ["s0", "s1", "s2", "s3"]
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- ["s4", "s5", "s6", "s7"]
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- ["s8", "s9", "s10", "s11"]
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- ["s12", "s13", "s14", "s15"]
- name: max-people-generalists-at-front
in:
req_skills:
[
"s0",
"s1",
"s2",
"s3",
"s4",
"s5",
"s6",
"s7",
"s8",
"s9",
"s10",
"s11",
"s12",
"s13",
"s14",
"s15",
]
people:
elemType: "string"
value:
- ["s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7"]
- ["s8", "s9", "s10", "s11", "s12", "s13", "s14", "s15"]
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- name: max-people-singletons-and-noise
in:
req_skills:
[
"s0",
"s1",
"s2",
"s3",
"s4",
"s5",
"s6",
"s7",
"s8",
"s9",
"s10",
"s11",
"s12",
"s13",
"s14",
"s15",
]
people:
elemType: "string"
value:
- ["s0"]
- ["s1"]
- ["s2"]
- ["s3"]
- ["s4"]
- ["s5"]
- ["s6"]
- ["s7"]
- ["s8"]
- ["s9"]
- ["s10"]
- ["s11"]
- ["s12"]
- ["s13"]
- ["s14"]
- ["s15"]
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
- []
Loading
Loading