关注
第一题,合并区间,然后对合并后的结果进行判断
func main() {
var n, m int
for {
flag, _ := fmt.Scanln(&;n, &;m)
if flag == 0 {
break
}
arr := make([][]int, n)
for i := 0; i < n; i++ {
arr[i] = make([]int, 2)
fmt.Scanln(&;arr[i][0], &;arr[i][1])
}
sort.Slice(arr, func(i, j int) bool {
return arr[i][0] < arr[j][0]
})
res := make([][]int, 0)
count := make([]int, n)
res = append(res, arr[0])
count[0] = 1
for i := 1; i < n; i++ {
if arr[i][0] <= res[len(res)-1][1] {
res[len(res)-1][1] = min(res[len(res)-1][1], arr[i][1])
res[len(res)-1][0] = arr[i][0]
count[len(res)-1]++
} else {
res = append(res, arr[i])
count[len(res)-1]++
}
}
if len(res) == 1 {
if res[0][1]-res[0][0]+1 >= m {
fmt.Println(n)
} else {
fmt.Println(n - 1)
}
} else if len(res) == 2 &;&; res[0][0] == 1 &;&; res[1][1] == m &;&; res[0][1] + 1 == res[1][0] {
fmt.Println(n)
} else {
sort.Ints(count)
fmt.Println(count[n-1])
}
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 找工作能把i人逼成什么样 #
15962次浏览 179人参与
# 上班到公司第一件事做什么? #
110554次浏览 756人参与
# 你今年做了几份实习? #
10704次浏览 156人参与
# 工作两年想退休了 #
204643次浏览 1814人参与
# 一上班就想____,这正常吗? #
5859次浏览 100人参与
# 运营面经 #
146216次浏览 1323人参与
# 参加过提前批的机械人,你们还参加秋招么 #
103918次浏览 1641人参与
# 网易求职进展汇总 #
169477次浏览 1414人参与
# 如果公司降薪,你会跳槽吗? #
111768次浏览 721人参与
# 大厂面试初体验 #
83957次浏览 385人参与
# 金三银四,你有感觉到吗 #
663434次浏览 6032人参与
# 大学最后一个寒假,我想…… #
72526次浏览 727人参与
# 大家每天通勤多久? #
64679次浏览 415人参与
# 什么样的公司千万别去 #
28387次浏览 151人参与
# 面试尴尬现场 #
206094次浏览 823人参与
# 春招你拿到offer了吗 #
762604次浏览 9777人参与
# 用一句话形容你的团队氛围 #
29267次浏览 248人参与
# 业务面应该做哪些准备 #
79326次浏览 813人参与
# 一起聊华为 #
169104次浏览 822人参与
# 第一份工作应该选高薪还是热爱? #
141462次浏览 1050人参与
