這篇文章主要介紹“C++搜索插入位置問題怎么解決”,在日常操作中,相信很多人在C++搜索插入位置問題怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++搜索插入位置問題怎么解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、虛擬空間、營銷軟件、網站建設、石城網站維護、網站推廣。
搜索插入位置
Example 1:
Input: [1,3,5,6], 5
Output: 2
Example 2:
Input: [1,3,5,6], 2
Output: 1
Example 3:
Input: [1,3,5,6], 7
Output: 4
Example 4:
Input: [1,3,5,6], 0
Output: 0
這道題基本沒有什么難度,實在不理解為啥還是 Medium 難度的,完完全全的應該是 Easy ?。菜片F在已經改為 Easy 類了),三行代碼搞定的題,只需要遍歷一遍原數組,若當前數字大于或等于目標值,則返回當前坐標,如果遍歷結束了,說明目標值比數組中任何一個數都要大,則返回數組長度n即可,代碼如下:
解法一:
class Solution { public: int searchInsert(vector<int>& nums, int target) { for (int i = 0; i < nums.size(); ++i) { if (nums[i] >= target) return i; } return nums.size(); } };
解法二:
class Solution { public: int searchInsert(vector<int>& nums, int target) { if (nums.back() < target) return nums.size(); int left = 0, right = nums.size(); while (left < right) { int mid = left + (right - left) / 2; if (nums[mid] < target) left = mid + 1; else right = mid; } return right; } };
到此,關于“C++搜索插入位置問題怎么解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!
當前標題:C++搜索插入位置問題怎么解決
分享路徑:http://m.newbst.com/article42/gejjhc.html
成都網站建設公司_創新互聯,為您提供企業建站、網站收錄、外貿網站建設、、定制網站、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯