二分法查詢

2022-08-16 23:00:18 字數 859 閱讀 6249

lcp 12. 小張刷題計畫

這裡一開始,是從t=0開始慢慢往上加,最後超時。

如果用二分法:計算t最大值,取中間值 ,計算m,如果m《規定天數,說明這個t時間不夠,就取右半邊。m>=規定天數,說明t偏大了,取左半邊。取到合適t了,但不一定是最小的。下次邊界值保留這個,多次迴圈看看。~

t最大值:花費時間陣列累加

int mintime(int* time, int timesize, int m)

int max_t = 0;

// 一共有幾天

int day_count = m;

// 每天最短做題時間

int day_t = 1;

// 可以求助小楊的次數,最多就是天數,而且一天一次可以保證時間最短。

int yang_count = timesize;

int i, j;

// 一天內能做的題,時間總和time[i]) ? day_max : time[i];

day_sum += time[i];

//printf("time[%d] = %d\n",i,time[i]);

}// 不滿足條件了出來,說明一天在當前dat_t,最多做這幾題,少一天。

day_count--;

//printf("day_count=%d\n",day_count);

if (day_count == 0 && (i != timesize - 1 || (day_sum - day_max) > t_mid))

if (tag)

}if (t_left >= t_right)

}return min_t;

}

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...

python二分法查詢 Python 二分法查詢

二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...

二分法查詢

前幾天csdn上說只有10 程式設計師能寫出正確的二分法查詢 so.我在看過二分法查詢方法後寫了乙個 一次測試成功.範圍 需要次數 10 4 100 7 1000 10 10000 14 100000 17 1000000 20 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...