分享
leetcode_893
淳属虚构 · · 931 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
Golang:
思路:把奇数位和偶数位的字符全部找出来,然后排序在组合起来,建个map看下情况即可
代码如下:
func superEggDrop(K int, N int) int {
if K==1{
return N
}
mat:=make([][]int,K+1)
for k,_:=range mat{
mat[k]=make([]int,N+1)
}
for k,_:=range mat[1]{
mat[1][k]=k
}
for i:=2;i<=K;i++{
for j:=1;j<=N;j++{
low,high:=1,j
for low+1<high{
mid:=(low+high)/2
if mat[i-1][mid-1]<mat[i][j-mid]{
low=mid
}else if mat[i-1][mid-1]>mat[i][j-mid]{
high=mid
}else{
low,high=mid,mid
}
}
mat[i][j]=1+min(max(mat[i-1][low-1],mat[i][j-low]),max(mat[i-1][high-1],mat[i][j-high]))
}
}
return mat[K][N]
}
func max(i int, j int) int {
if i > j {
return i
} else {
return j
}
}
func min(x int, y int) int {
if x > y {
return y
} else {
return x
}
}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信931 次点击
上一篇:Golang读取文件三种方式
下一篇:leetcode_887
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
Golang:
思路:把奇数位和偶数位的字符全部找出来,然后排序在组合起来,建个map看下情况即可
代码如下:
func superEggDrop(K int, N int) int {
if K==1{
return N
}
mat:=make([][]int,K+1)
for k,_:=range mat{
mat[k]=make([]int,N+1)
}
for k,_:=range mat[1]{
mat[1][k]=k
}
for i:=2;i<=K;i++{
for j:=1;j<=N;j++{
low,high:=1,j
for low+1<high{
mid:=(low+high)/2
if mat[i-1][mid-1]<mat[i][j-mid]{
low=mid
}else if mat[i-1][mid-1]>mat[i][j-mid]{
high=mid
}else{
low,high=mid,mid
}
}
mat[i][j]=1+min(max(mat[i-1][low-1],mat[i][j-low]),max(mat[i-1][high-1],mat[i][j-high]))
}
}
return mat[K][N]
}
func max(i int, j int) int {
if i > j {
return i
} else {
return j
}
}
func min(x int, y int) int {
if x > y {
return y
} else {
return x
}
}