程式設計題 擊敗魔物 小紅書 二分查詢

2021-10-07 04:38:04 字數 997 閱讀 9319

我們把問題分解成兩個子問題:

1.已知 必殺技傷害x 驗證能否獲勝

2.二分查詢能夠獲勝的最小傷害x

考慮二分查詢的上下邊界:

package main

import

("fmt"

"sort"

)//求和

func

sum(arr [

]int

)(ans int

)return

}//求較小值

func

min(i,j int

)int

else

}//驗證能否獲勝

func

f(ohs [

]int

,n,t,m,x int

)bool

} sort.

ints

(hs)

i:=0for

;hs[i]==0

;i++

hs=hs[i:]if

len(hs)==0

n=len(hs)

if n<=m

else

}func

main()

//法力值大於回合數時多的也沒用

if m>t

//獲取怪物血量

var hs [

]int

fmt.

scan

(&n,

&t,&m)

for i:=

0;i//平a取勝

if t>

sum(hs)

sort.

ints

(hs)

//二分查詢

l,r:=

0,hs[

len(hs)-1

]if!f

(hs,n,t,m,r)

for l1else

} fmt.

println

(r)}

Python程式設計題51 二分查詢

給定乙個含有 n 個無重複整數的公升序列表 nums 和乙個目標值 target 請查詢 nums 中的 target,如果目標值存在返回下標,否則返回 1。例如 給定乙個列表 nums 1,0,3,5,9,12 target 9 返回結果 4 給定乙個列表 nums 1,0,3,5,9,12 ta...

二分查詢簡單題

leetcode 35.search insert position 最普通的binary search,若target存在,則返回所在下標 若target不存在,則返回target待插入的位置,本質上就是實現lower bound函式 無論mid left right left 2,還是mid l...

基礎程式設計 二分查詢

題目要求 本題要求實現二分查詢演算法。函式介面定義 position binarysearch list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用者傳入的...