美团笔试第一题就超时??
题目是n个长方形,我用go写的,一开始超时后改用hash缓存后还超时,真一点没招了,牛友们有遇到相同情况吗
这是我的代码:
package main
import "fmt"
func niceput(rectangles [][]int, height int) int {
var ans int
for _, rectangle := range rectangles {
if rectangle[0] <= height && rectangle[1] <= height {
ans += min(rectangle[0], rectangle[1])
} else {
if rectangle[0] > height {
ans += rectangle[0]
} else {
ans += rectangle[1]
}
}
}
return ans
}
func min(a, b int) int {
if a <= b {
return a
}
return b
}
func main() {
firstmap := make(map[int]map[int]int)
var n, m int
fmt.Scan(&n, &m)
ans := 0
for i := 0; i < n; i++ {
recs := [][]int{}
var x, y int
fmt.Scan(&x, &y)
if x < y {
x, y = y, x
}
//如果map中有结果,直接调用,不用再计算一次
if v, ok := firstmap[x][y]; ok {
ans += v
continue
}
recs = append(recs, []int{x, y})
curput := niceput(recs, m)
ans += curput
if _, ok := firstmap[x]; !ok {
firstmap[x] = make(map[int]int)
}
firstmap[x][y] = curput
//把结果记录在map中
}
fmt.Println(ans)
}#牛客AI配图神器#
这是我的代码:
package main
import "fmt"
func niceput(rectangles [][]int, height int) int {
var ans int
for _, rectangle := range rectangles {
if rectangle[0] <= height && rectangle[1] <= height {
ans += min(rectangle[0], rectangle[1])
} else {
if rectangle[0] > height {
ans += rectangle[0]
} else {
ans += rectangle[1]
}
}
}
return ans
}
func min(a, b int) int {
if a <= b {
return a
}
return b
}
func main() {
firstmap := make(map[int]map[int]int)
var n, m int
fmt.Scan(&n, &m)
ans := 0
for i := 0; i < n; i++ {
recs := [][]int{}
var x, y int
fmt.Scan(&x, &y)
if x < y {
x, y = y, x
}
//如果map中有结果,直接调用,不用再计算一次
if v, ok := firstmap[x][y]; ok {
ans += v
continue
}
recs = append(recs, []int{x, y})
curput := niceput(recs, m)
ans += curput
if _, ok := firstmap[x]; !ok {
firstmap[x] = make(map[int]int)
}
firstmap[x][y] = curput
//把结果记录在map中
}
fmt.Println(ans)
}#牛客AI配图神器#
全部评论

A 了这题,用 python 写的。如果没有超过最大高度,就用最小的当底,如果超过了最大高度,就用最大的当底
其实是输入有问题,用scanner输入就不超时了
C语言写的,用指针结构体+枚举,2ms左右
一样超时,一开始过20%,后面调了调变量定义位置这些的(没改逻辑),过90,不知道怎么往上调了😓
我int改long就从0到100了,cpp
感觉有点问题,这个一直0通过,明明很简单
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
03-19 17:53
武汉大学 算法工程师
暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。
卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂 点赞 评论 收藏
分享
查看26道真题和解析 点赞 评论 收藏
分享
