1.(二分查詢筆試題)
給定乙個排序陣列和目標陣列,在陣列找到目標值並返回其索引,如不存在陣列中,則返回他將會按順序插入的位置。
class
ppublic
indexnode
(int index,
boolean flag)
}public
static indexnode findval
(int
arr,
int val)
}//插入的位置
if(pos.index==-1
)return pos;
}public
static
void
main
(string[
] args)
; indexnode a=
findval
(arr,3)
; system.out.
println
(a.index);}
}
2.貪吃的小明:《思路:二分查詢》
小明的父母要出差n天,走之前給小明留下了m塊糖,小明打算每天吃的奶糖數量不少於前一天的一半,同時不想在父母回來之前沒糖吃,問小明應該如何分配?
class
xiaoming
//出差n天,m個糖
public
static
void
check
(int n,
int m)
sum -= now;
//第二天吃的不少於第一天吃的一半
now =
(now +1)
/2;}
if(flag) left = mid;
else
} system.out.
println
("小明第一天可吃"
+left+
"個糖");
}}
3.尋找旋轉排序陣列中的最小值:《思路:二分查詢》
假設公升序排序的陣列在預先位置的某個點上進行了旋轉,eg:變為。請找出其中最小的元素,假設陣列中不存在重複元素。
//旋轉有序陣列(設無重複元素) 找其最小元素
class
revolve
; system.out.
println
(rev
(a));}
public
static
intrev
(int
arr)
}}
遞迴函式練習題
1 寫乙個函式,接收乙個引數,用來返回這個函式的階乘並輸出 12345 def func num if num 1 return 1 ret func num 1 return num ret print func 5 2 寫乙個函式實現斐波那契數列 1,2,3,5,8,13,21,34,55,89...
C語言練習題 遞迴
會下西洋棋的人都很清楚 皇后可以在橫 豎 斜線上不限步數地吃掉其他棋子。如何將8個皇后放在棋盤上 有8 8個方格 使它們誰也不能被吃掉!這就是著名的八皇后問題。對於某個滿足要求的8皇后的擺放方法,定義乙個皇后串a與之對應,即a b1b2 b8,其中b為相應擺法中第i行皇后所處的列數。已經知道8皇后問...
函式遞迴 遞推與回溯 練習題
遞迴與二分法習題 二分法就是在按照從大到小或者從小到大規律排布的列表中,尋找的值通過與中間的值比較大小,從而對列表進行操作,然後再比較的迴圈過程。用遞迴的方法找出列表中的值 num 1,3,4,5,6,8,22,33,55,778,990 def search search number,num i...