diff --git a/solution/2200-2299/2225.Find Players With Zero or One Losses/README.md b/solution/2200-2299/2225.Find Players With Zero or One Losses/README.md index 7b7c7a6ffe6cf..6c05ddab6a731 100644 --- a/solution/2200-2299/2225.Find Players With Zero or One Losses/README.md +++ b/solution/2200-2299/2225.Find Players With Zero or One Losses/README.md @@ -167,6 +167,34 @@ func findWinners(matches [][]int) [][]int { } ``` +### **JavaScript** + +```js +var findWinners = function (matches) { + const onlyWins = new Set(), + oneLose = new Set(), + moreLosses = new Set(); + + for (const [winner, loser] of matches) { + if (!moreLosses.has(loser)) { + if (oneLose.has(loser)) { + oneLose.delete(loser); + moreLosses.add(loser); + } else { + onlyWins.delete(loser); + oneLose.add(loser); + } + } + + if (!moreLosses.has(winner) && !oneLose.has(winner)) { + onlyWins.add(winner); + } + } + + return [[...onlyWins].sort((a, b) => a - b), [...oneLose].sort((a, b) => a - b)]; +}; +``` + ### **TypeScript** ```ts diff --git a/solution/2200-2299/2225.Find Players With Zero or One Losses/README_EN.md b/solution/2200-2299/2225.Find Players With Zero or One Losses/README_EN.md index 6d3c6dbb89080..1d6d6d2d886f6 100644 --- a/solution/2200-2299/2225.Find Players With Zero or One Losses/README_EN.md +++ b/solution/2200-2299/2225.Find Players With Zero or One Losses/README_EN.md @@ -155,6 +155,34 @@ func findWinners(matches [][]int) [][]int { } ``` +### **JavaScript** + +```js +var findWinners = function (matches) { + const onlyWins = new Set(), + oneLose = new Set(), + moreLosses = new Set(); + + for (const [winner, loser] of matches) { + if (!moreLosses.has(loser)) { + if (oneLose.has(loser)) { + oneLose.delete(loser); + moreLosses.add(loser); + } else { + onlyWins.delete(loser); + oneLose.add(loser); + } + } + + if (!moreLosses.has(winner) && !oneLose.has(winner)) { + onlyWins.add(winner); + } + } + + return [[...onlyWins].sort((a, b) => a - b), [...oneLose].sort((a, b) => a - b)]; +}; +``` + ### **TypeScript** ```ts diff --git a/solution/2200-2299/2225.Find Players With Zero or One Losses/Solution.js b/solution/2200-2299/2225.Find Players With Zero or One Losses/Solution.js new file mode 100644 index 0000000000000..95b4e5be4f721 --- /dev/null +++ b/solution/2200-2299/2225.Find Players With Zero or One Losses/Solution.js @@ -0,0 +1,23 @@ +var findWinners = function (matches) { + const onlyWins = new Set(), + oneLose = new Set(), + moreLosses = new Set(); + + for (const [winner, loser] of matches) { + if (!moreLosses.has(loser)) { + if (oneLose.has(loser)) { + oneLose.delete(loser); + moreLosses.add(loser); + } else { + onlyWins.delete(loser); + oneLose.add(loser); + } + } + + if (!moreLosses.has(winner) && !oneLose.has(winner)) { + onlyWins.add(winner); + } + } + + return [[...onlyWins].sort((a, b) => a - b), [...oneLose].sort((a, b) => a - b)]; +};