今天的代碼展示在末尾
成都創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:做網站、成都網站設計、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的臨潁網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!???????????????????????????704. 二分查找 - 力扣(LeetCode)
第一題的想法不多,我最開始利用的是左閉右閉,退出條件想了好久,后來看講解,學會了左閉右閉、左閉右開,了解了許多細節。
如下:左閉右開比左閉右閉時間復雜度低、在mid運算時,要利用left+(right-left)/2代替(left+right)/2。這是為了防止及數據溢出,例如邊界值的運算,還有/2可以改稱為運算>>1,這個更快速。自己最開始更新left,或right時會考慮不到mid。
27. 移除元素 - 力扣(LeetCode)
這是第二題,我利用vector自帶的erase函數,和remove函數解的,不明所以,這是錯誤的,應該將最關鍵的部分,核心部分來手動實現原理,這樣理解才能加深。
數組的空間是連續的,只能覆蓋不能刪除,vector是對數組進行了包裝。
int search(vector& nums, int target)
{
//左閉右閉、左閉右開、【a、b】【a、b)這決定了每次更新后的值。
//【】a<=b【 )a>1);//>>得加(),左右移是優先級最低的
if(nums[mid]>target)//中值大,往左找
{
right=mid-1;
}
else if(nums[mid]>1);
// if(nums[mid]>target)//中值大,往左找
// {
// right=mid;
// }
// else if(nums[mid]& nums, int val)
{
//我的庫函數解法
nums.erase(remove(nums.begin(),nums.end(),val),nums.end());//erase復雜度n
return nums.size();
//快慢指針的原理就是遍歷,快慢一起走,遇到目標值,快指針移動,慢指針停,快指針就將指向的值賦給慢指針 ,實現覆蓋
int slow=0;
int fast;
for(fast=0;fast
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
分享題目:算法訓練第一天704.二分查找、27.移除元素。-創新互聯
網頁鏈接:http://vcdvsql.cn/article8/ddpoip.html
成都網站建設公司_創新互聯,為您提供手機網站建設、品牌網站設計、網站建設、品牌網站制作、軟件開發、商城網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯