一个用PHP代码写的2分查找程序
一个用PHP代码写的二分查找程序
function BinSearch($a,$low,$heigh,$key){
if($low > $heigh){
return null;
}else{
$mid = (int)($low+$heigh)/2;
$mid = ceil($mid);
// echo "a[]:".$a[$mid]."
";
// echo "key:".$key."
";
if($key == $a[$mid]){
return $mid;
echo $mid;
}elseif($a[$mid] $low = $mid + 1;
BinSearch($a, $low, $heigh, $key);
}elseif ($a[$mid] > $key){
$heigh = $mid - 1 ;
BinSearch($a, $low, $heigh, $key);
}
return null;
}
}
$a = array(0,1,2,3,4,5,6,7,8,9);
$key = 3;
$result = BinSearch($a, 0, 9, $key);
echo "result:".$result."
";
?>
求大神指点我为什么得不出我想要的结果,程序哪里有问题?
------解决方案--------------------
没有返回递归调用时的返回值
- PHP code
function BinSearch($a,$low,$heigh,$key){ if($low > $heigh){ return null; }else{ $mid = (int)($low+$heigh)/2; $mid = ceil($mid); if($key == $a[$mid]){ return $mid; echo $mid; }elseif($a[$mid] $key){ $heigh = $mid - 1 ; return BinSearch($a, $low, $heigh, $key);//还有这里 } return null; } } <div class="clear"> </div>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SQL中的Identity是什麼,需要具體程式碼範例在SQL中,Identity是一種用於產生自增數字的特殊資料類型,它常用於唯一識別表中的每一行資料。 Identity欄位通常與主鍵列搭配使用,可確保每筆記錄都有獨一無二的識別碼。本文將詳細介紹Identity的使用方式以及一些實際的程式碼範例。 Identity的基本使用方式在建立表格時,可以使用Identit

一、功能概覽鍵空間通知使得客戶端可以透過訂閱頻道或模式,來接收那些以某種方式改變了Rediskey變化的事件。所有修改key鍵的指令。所有接收到LPUSHkeyvalue[value…]指令的鍵。 db資料庫中所有已過期的鍵。活動透過Redis的訂閱與發布功能(pub/sub)來分發,因此所有支援訂閱與發布功能的用戶端都可以在無須做任何修改的情況下,直接使用按鍵空間通知功能。因為Redis目前的訂閱與發布功能採取的是發送即忘(fireandforget)策略,所以如果你的程

mid函數用來從一個字串中截取指定長度的子字串,具體方法:1、VB中的mid函數,語法「Mid(string, start[, length])」;2、JavaScript中的mid函數,語法「string.slice(startIndex[, endIndex])」;3、Python中的mid函數,語法「string[startIndex:endIndex]」。

遇到的問題:在開發過程中,會遇到要批量刪除某種規則的key,例如login_logID(ID為變數),現在需要刪除"login_log*"這一類的數據,但是redis本身只有批量查詢一類別key值的指令keys,但是沒有批次刪除某一個類別的指令。解決方法:先查詢,在刪除,使用xargs傳參(xargs可以將管道或標準輸入(stdin)資料轉換成命令列參數),先執行查詢語句,在將查詢出來的key值,當初del的參數去刪除。 redis-cliKEYSkey*(查找條件)|xargsr

無法修補的 Yubico 二因素驗證金鑰漏洞已經破壞了大多數 Yubikey 5、安全金鑰和 YubiHSM 2FA 設備的安全性。 Feitian A22 JavaCard和其他使用Infineon SLB96xx系列TPM的裝置也容易受到攻擊。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

判斷JSONObject是否存在某個KeyJSONObjectjsonObj=newJSONObject();jsonObj.put("version","1.0.0");//版本號jsonObj.put("encoding","UTF-8");//編碼方式判斷jsonObject是否存在vesion屬性jsonObj.has("version");//回傳true檢查json字串中是否存在該k

redis中沒有直接根據正規表示式刪除key的指令,只有delkey1key2...指令但是redis中有透過正規表示式取得key的指令:keys"正規表示式"可以藉助於xargs指令實作批次刪除key,把查出來的key值當做參數傳給delredis-clikeys"mailspec*"|xargsdel完整指令:[root@localhostredis7001]#redis-cli-h192.169.1.71-p7001-a123456keysem*|x
