LeetCode 刷題【34. 在排序數組中查找元素的第一個和最后一個位置、35. 搜索插入位置】

34. 在排序數組中查找元素的第一個和最后一個位置

自己做

解:二分查找

class Solution {
public://二分查找int halfFind(vector<int> nums, int begin, int end, int target){if(begin > end)         //找不到的情況return -1;int mid = (begin + end) / 2;if(nums[mid] == target) //找到的情況return mid;if(nums[mid] > target)  //中軸偏大,往左邊繼續找return halfFind(nums, begin, mid - 1, target);if(nums[mid] < target)  //中軸偏小,往右邊繼續找return halfFind(nums, mid + 1, end, target);return 0;      //應付LeetCode}vector<int> searchRange(vector<int>& nums, int target) {//二分查找到元素int len = nums.size();if(len == 0)                //數組為空return {-1,-1};            int k = halfFind(nums, 0, len - 1, target);if(k == -1)                 //元素不存在return {-1,-1};//元素存在的情況int begin = k, end = k;//先往左邊找while(begin >= 0 && nums[begin] == target)begin--;//再往右邊找while(end < len && nums[end] == target)end++;return {begin + 1,end - 1};}
};

35. 搜索插入位置

自己做

解:二分查找

class Solution {
public://二分查找int halfFind(vector<int> nums, int begin, int end, int target){if(begin > end)         //找不到的情況return end + 1;     //返回要插入的下標int mid = (begin + end) / 2;if(nums[mid] == target) //找到的情況return mid;if(nums[mid] > target)  //中軸偏大,往左邊繼續找return halfFind(nums, begin, mid - 1, target);if(nums[mid] < target)  //中軸偏小,往右邊繼續找return halfFind(nums, mid + 1, end, target);return 0;      //應付LeetCode}int searchInsert(vector<int>& nums, int target) {int len = nums.size();return halfFind(nums, 0, len - 1, target);}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94746.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94746.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94746.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue3 計算屬性與監聽器

文章目錄計算屬性配置項 computedHTML 結構Vue 實例數據方法計算屬性綁定數據和方法完整代碼vue3商品加減案例監聽器配置項 watch簡單類型寫法深度監聽寫法計算屬性配置項 computed 使用 Vue 實現一個商品價格計算器&#xff0c;設置一個初始單價&#xff0c;初始數量為 1&…

Mysql如何遷移數據庫數據

文章目錄一、使用 mysqldump 工具&#xff08;最常用&#xff09;&#xff08;一&#xff09;導出數據&#xff08;二&#xff09;導出數據庫&#xff08;不含數據&#xff09;&#xff08;三&#xff09;導出指定表&#xff08;四&#xff09;導入數據二、直接拷貝文件三、使用…

為什么輸入 URL 后會顯示頁面?HTTP 協議的 “幕后操作”

&#x1f680; 瀏覽器輸入URL后&#xff0c;到底發生了什么&#xff1f;前端面試HTTP協議深度解析 今天咱們不聊八卦&#xff0c;來點硬核的——前端面試中繞不開的HTTP協議。是不是一提到“瀏覽器輸入URL后發生了什么”&#xff0c;你就開始頭大&#xff1f;別擔心&#xff0c…

內網穿透原理和部署教程

前言&#xff1a;本文介紹了內網穿透技術原理及frp工具的部署方法。由于NAT映射表是臨時且單向的&#xff0c;外網無法直接訪問內網服務。通過部署公網服務器作為中轉&#xff0c;frp實現了內網服務的穿透訪問。具體步驟包括&#xff1a;下載frp軟件包&#xff0c;詳細說明了配…

Ping32:為企業數據安全筑起銅墻鐵壁?

Ping32&#xff1a;為企業數據安全筑起銅墻鐵壁在數字經濟飛速發展的今天&#xff0c;企業數據已成為核心競爭力的重要組成部分。然而&#xff0c;數據泄露事件頻發&#xff0c;給企業帶來的損失難以估量。從商業機密外泄到客戶信息曝光&#xff0c;每一次數據安全事故都可能讓…

2025年國內iPaaS平臺精選

在過去幾年里&#xff0c;許多企業在業務系統中面臨了諸多有關集成的難題&#xff1a;系統建好了&#xff0c;數據流不動&#xff1b;接口打通了&#xff0c;流程仍卡頓&#xff1b;工具堆疊越來越多&#xff0c;但協同效率反而走低。 這并不是架構設計的問題&#xff0c;也不是…

AD繪制PCB之-板外形設計

1、通過機械層1 【Mechanical 1】繪制出板子輪廓2、選中上面繪制得輪廓先選中一條邊&#xff0c;然后按tab鍵&#xff0c;可以自動選擇這條邊閉合得線條3、按照選擇對象定義設計--->板子形狀------>按照選擇對象定義執行后得效果&#xff1a;4、根據需要設置板子四角為半…

《匯編語言:基于X86處理器》第12章 浮點數處理與指令編碼(2)

Intel X86架構數據的運算主要由通用寄存器處理&#xff0c;但浮點數例外&#xff0c;浮點數的運算由專門的FPU寄存器處理。二進制浮點數由三部分組成&#xff1a;符號&#xff0c;有效數字和階碼。這些格式都出自由IEEE組織制定的標準754-1985&#xff1a;以下是三種浮點數的格…

vue3通過按鈕實現橫向滾動、鼠標滾動橫坐標滾動

效果圖&#xff1a;可點擊左右文字進行滾動、或通過滾動鼠標 內容左右滾動<template><div class"Home"><div style"display: flex;height: 100%;align-items: center;"><div click"scrollLeft()" style"width: 80px;t…

【Agent】AutoGen:LLM驅動的多Agent對話框架

文章目錄一、AutoGen簡介1.1 AutoGen的特點1.2 AutoGen的實現1.2.1 可對話Agent1.2.2 對話編程二、基于AutoGen構建多智能體系統2.1 構建步驟2.1 協作模式2.2 通信模型2.3 人機協同2.4 具體示例參考資料一、AutoGen簡介 AutoGen是微軟推出的一個Multi-Agent框架&#xff0c;允…

乙巳年閏六月十六凌晨感懷

乙巳年閏六月十六凌晨感懷 一段歷程一段情&#xff0c;兒郎崢嶸兒郎行。 歲月流金建功業&#xff0c;春秋風尚能潮贏。 路途苦樂人生度&#xff0c;評說成敗當下名。 百年孤寂留水墨&#xff0c;千載獨步守安寧。

Redis 分布式Session

一、引入依賴引入spring-session-data-redis依賴&#xff0c;不需要指定version&#xff0c;默認和springboot的version保持一致<!-- Spring Session Redis --> <dependency><groupId>org.springframework.session</groupId><artifactId>spring…

JAVA實現附件分片上傳

項目需求由于文件服務器的限制&#xff0c;單次調用文件上傳接口上傳的附件的大小不能超過500MB&#xff0c;對于超過500MB的附件需要分片上傳程序示例private Boolean uploadFile(File uploadFile, String uploadUrl, List<Object> fileList) {final long CHUNK_SIZE 5…

PyTorch環境安裝

pytorch安裝 建議&#xff08;非常強烈的那種&#xff09;用Anaconda創建一個虛擬環境&#xff0c;用于運行安裝你的PyTorch conda create -n universal python3.9 1. 基礎認知 cuDNN&#xff08;CUDA Deep Neural Network library&#xff09;是 NVIDIA 開發的用于深度學習…

機場風云:AI 云廠商的暗戰,廣告大戰一觸即發

文 | 大力財經機場廣告牌背后&#xff0c;一場決定云計算未來格局的隱形戰爭已悄然打響。當你匆匆走過首都機場T3航站樓的通道&#xff0c;巨幅屏幕上“阿里云&#xff1a;開源的力量”與不遠處“百度智能云&#xff1a;AI落地領導者”的廣告交相輝映。它們精準鎖定著日均10萬的…

MLE-STAR:谷歌AI推出的機器學習工程新范式,一種搜索驅動、精準優化的智能代理

最近看到 Google AI 發布了一個叫 MLE-STAR&#xff08;Machine Learning Engineering via Search and Targeted Refinement&#xff09;的新系統&#xff0c;說實話&#xff0c;第一眼看完論文和相關介紹后&#xff0c;我是有點震撼的。這不只是一次簡單的“LLM 自動化”拼湊…

3-防火墻

防火墻 一 防火墻概述防火墻概述防火墻是一個位于內部網絡與外部網絡之間的安全系統&#xff08;網絡中不同區域之間&#xff09;&#xff0c;是按照一定的安全策略建立起來的硬件或軟件系統&#xff0c;用于流量控制的系統&#xff08;隔離&#xff09;&#xff0c;保護內部網…

python opencv 調用 海康威視工業相機(又全又細又簡潔)

1.準備工作 準備一個海康相機 下載MVS 和SDK 海康機器人-機器視覺-下載中心 2.python MVS示例 &#xff08;說明&#xff1a;MVS里有很多python示例&#xff0c;可以直接運行&#xff0c;但沒有用opencv&#xff09; 下載完MVS后&#xff0c;我們打開路徑安裝路徑 我的&#…

計算機基礎·linux系統

Finalshell 用于遠程操控vmware中的linux系統 獲取虛擬機的IP地址 ifconfig命令&#xff0c;重啟系統后IP地址可能會變化&#xff01;問題&#xff1a;vmware子系統沒有網絡連接 winRservices.msc啟動這些服務問題&#xff1a;配置正確但是finalshell連接失敗 更新子系統中的ss…

8.結構健康監測選自動化:實時數據 + 智能分析,遠超人工

第一次接觸結構健康自動化監測系統&#xff0c;感覺成本很高&#xff0c;比人工好在哪里&#xff1f; 人工檢測是依靠目測檢查或借助于便攜式儀器測量得到的信息&#xff0c;但是隨著整個行業的發展&#xff0c;傳統的人工檢測方法已經不能滿足檢測需求&#xff0c;從人工檢測到…