無限式查詢 2023年2月28日

2021-09-26 02:08:48 字數 359 閱讀 6801

問題描述:已知乙個陣列x,元素個數有多少並不很清楚,但是陣列元素已經依順序從小到大排好,而且在陣列最後新增了足夠多的max記號;max表示最大的值,比陣列中每乙個元素都大,而且個數足夠多。編寫乙個程式,在這個陣列中找出某個給定的值。

思路:二分查詢法是乙個非常高效的演算法,但要想使用二分查詢法,必須滿足2個條件:1.元素是有序的,可以從小到大排列,也可以從大到小排列。2.知道元素集合的上界和下界。本題中元素已經從小到大排列,但是不知道陣列的上界。所以,解法如下:

1.最開始,二分查詢x[0]和x[1],即查詢區域為[0,1)這個左閉右開區間,區間的大小是

2.如果在之前沒有查詢到,把start=end,end+=

**很簡單,在此就不贅述了。

無限式查詢 2023年2月28日

問題描述 已知乙個陣列x,元素個數有多少並不很清楚,但是陣列元素已經依順序從小到大排好,而且在陣列最後新增了足夠多的max記號 max表示最大的值,比陣列中每乙個元素都大,而且個數足夠多。編寫乙個程式,在這個陣列中找出某個給定的值。思路 二分查詢法是乙個非常高效的演算法,但要想使用二分查詢法,必須滿...

無限式查詢 2023年2月28日

問題描述 已知乙個陣列x,元素個數有多少並不很清楚,但是陣列元素已經依順序從小到大排好,而且在陣列最後新增了足夠多的max記號 max表示最大的值,比陣列中每乙個元素都大,而且個數足夠多。編寫乙個程式,在這個陣列中找出某個給定的值。思路 二分查詢法是乙個非常高效的演算法,但要想使用二分查詢法,必須滿...

2023年2月28日訓練日記

繼續過題 置換群篇 old sorting 問乙個置換變為公升序最少用幾次,用到了置換群的乙個結論,就是讓乙個含有cnt個元素的迴圈節要想變成公升序最少需要cnt 1次,然後dfs搜迴圈節就行了。費馬小定理篇 一直都只是知道這個定理,也曾經用過,一看部落格才發現並不是個不常用的定理,處處有優化啊 s...