mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-07 01:44:56 +08:00
40 lines
1.3 KiB
Go
40 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"sort"
|
|
)
|
|
|
|
func statisticalData(problemsMap map[int]StatStatusPairs, solutionIds []int) (easyTotal, mediumTotal, hardTotal, optimizingEasy, optimizingMedium, optimizingHard int32, optimizingIds []int) {
|
|
easyTotal, mediumTotal, hardTotal, optimizingEasy, optimizingMedium, optimizingHard, optimizingIds = 0, 0, 0, 0, 0, 0, []int{}
|
|
for _, v := range problemsMap {
|
|
switch DifficultyMap[v.Difficulty.Level] {
|
|
case "Easy":
|
|
{
|
|
easyTotal++
|
|
if v.Status == "ac" && BinarySearch(solutionIds, int(v.Stat.FrontendQuestionID)) == -1 {
|
|
optimizingEasy++
|
|
optimizingIds = append(optimizingIds, int(v.Stat.FrontendQuestionID))
|
|
}
|
|
}
|
|
case "Medium":
|
|
{
|
|
mediumTotal++
|
|
if v.Status == "ac" && BinarySearch(solutionIds, int(v.Stat.FrontendQuestionID)) == -1 {
|
|
optimizingMedium++
|
|
optimizingIds = append(optimizingIds, int(v.Stat.FrontendQuestionID))
|
|
}
|
|
}
|
|
case "Hard":
|
|
{
|
|
hardTotal++
|
|
if v.Status == "ac" && BinarySearch(solutionIds, int(v.Stat.FrontendQuestionID)) == -1 {
|
|
optimizingHard++
|
|
optimizingIds = append(optimizingIds, int(v.Stat.FrontendQuestionID))
|
|
}
|
|
}
|
|
}
|
|
}
|
|
sort.Ints(optimizingIds)
|
|
return easyTotal, mediumTotal, hardTotal, optimizingEasy, optimizingMedium, optimizingHard, optimizingIds
|
|
}
|