刷題日記-Day1- Leedcode-704. 二分查找,27. 移除元素-Python實現

704 二分查找

鏈接:https://leetcode.cn/problems/binary-search/description/

給定一個 n 個元素有序的(升序)整型數組 nums 和一個目標值 target ,寫一個函數搜索 nums 中的 target,如果目標值存在返回下標,否則返回 -1。

思路:二分,關鍵點在于邊界條件處理,此處使用left<=right ,原因是我們在區間【Left,Right】之間查找,left==right是有意義的,除此之外,判斷分支后直接去掉mid,變為mid-1和mid+1,同樣保證左閉右閉區間。

### Python實現
class Solution:def search(self, nums: List[int], target: int) -> int:left = 0right = len(nums) - 1## 注意是小于等于while left <= right:mid = (left + right) //2  ## 整除   if nums[mid] < target:left = mid+1elif nums[mid] > target:right = mid-1else:return midreturn -1

27 移除元素

鏈接:https://leetcode.cn/problems/remove-element/description/

給你一個數組 nums 和一個值 val,你需要 原地 移除所有數值等于 val 的元素,并返回移除后數組的新長度。
不要使用額外的數組空間,你必須僅使用 O(1) 額外空間并 原地 修改輸入數組。
元素的順序可以改變。你不需要考慮數組中超出新長度后面的元素。

思路:雙指針(快慢指針)設置左指針和右指針,最開始都在初始化的0位置,其中右指針在前’‘探路’',遇到非目標值的,則將該值賦值給左指針位置,同時左右指針均右移動一位,如果遇到目標值,則右指針右移,左指針不動,最終結果是左指針左邊的數字即為移除完所有目標值的數組。
Python實現:

class Solution:def removeElement(self, nums: List[int], val: int) -> int:l ,r = 0, 0for r, x in enumerate(nums):if x != val:nums[l] = xl += 1return l

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

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

相關文章

vue3 toRefs之后的變量修改方法

上效果 修改值需要帶上解構之前的對象名obj&#xff0c; changeName:()>{ // toRefs 解決后變量修改值方法&#xff1a; 解構前變量.字段新值 obj.name FEIFEI; } } 案例源碼 <!DOCTYPE html> <html> <head><me…

如何在pgAdmin中用替換的值更新jsonb列?

我有一個名為files的PostgreSQL表&#xff0c;其中包括一個名為formats的jsonb表。雖然有些行是[null]&#xff0c;但其他行具有此結構的對象&#xff1a; {"thumbnail": {"ext": ".jpg","url": "https://some-url.com/image01.…

Vue | (四)使用Vue腳手架(上) | 尚硅谷Vue2.0+Vue3.0全套教程

文章目錄 &#x1f4da;初始化腳手架&#x1f407;創建初體驗&#x1f407;分析腳手架結構&#x1f407;關于render&#x1f407;查看默認配置 &#x1f4da;ref與props&#x1f407;ref屬性&#x1f407;props配置項 &#x1f4da;混入&#x1f4da;插件&#x1f4da;scoped樣…

idea配置javafx

一、下載sdk 在jdk8之后,需要下載sdk包 ??javafx-sdk-18.zip 這里適用的jkd版本如圖 二、配置 創建一個項目之后,進行如下配置,將sdk導入到項目中 配置啟動參數 可以使用-號將之前的去掉&

同步 BUCK 與 異步 BUCK 的區別

上篇文章介紹 BUCK 基本拓撲電路工作原理&#xff0c;BUCK 電路如下圖&#xff1a; 因為二極管的存在&#xff0c;只需要控制一個 MOS 管開關&#xff0c;一般將該電路稱為異步 BUCK 電路&#xff0c;如果把這個二極管換為 MOS 管&#xff0c;如下圖&#xff1a; 該電路用到了兩…

vue Threejs實現任意畫線(鼠標點擊畫線)

Threejs實現任意畫線(鼠標點擊畫線) 鼠標左鍵單擊添加點鼠標右鍵回退到上一個點,并繼續畫按住shift可以畫平行于x軸或平行于z軸的線按Esc完成畫線

【leetcode題解C++】121.買賣股票的最佳時機 and 122.買賣股票的最佳時機II and 55.跳躍游戲 and 45.跳躍游戲II

121. 買賣股票的最佳時機 給定一個數組 prices &#xff0c;它的第 i 個元素 prices[i] 表示一支給定股票第 i 天的價格。 你只能選擇 某一天 買入這只股票&#xff0c;并選擇在 未來的某一個不同的日子 賣出該股票。設計一個算法來計算你所能獲取的最大利潤。 返回你可以從…

汽車信息安全概述

隨著智能網聯汽車的迅猛發展&#xff0c;車輛不再是簡單的交通工具&#xff0c;而是集數據收集、處理與通信于一體的移動智能終端。然而&#xff0c;這一變革也使得汽車成為黑客攻擊的新目標。汽車信息安全問題日益凸顯&#xff0c;成為行業關注的焦點。本文將深入探討汽車信息…

前后端分離vscode保險業務管理系統vue+Nodejs

本設計主要應用于完成對保險業務進行計算機化的管理。系統前臺展示各種種類的保險&#xff0c;顧客可以選擇登陸后買入。公司員工為管理員&#xff0c;由公司統一分配賬號&#xff0c;員工用工號密碼登陸。可以修改密碼&#xff0c;查看、修改自己的信息。員工可處理顧客信息。…

企微hook框架

https://wwm.lanzoum.com/ipUTp1ot1twh 密碼:hvev 免費的企微框架 支持文本消息&#xff0c;圖片消息&#xff0c;視頻消息&#xff0c;文件消息。 其他可自行下載測試。 有興趣可以進群交流。720192224 BOOL WxWorkSendData(string data) { WX_GETOBJDATA ob…

1.CSS單位總結

CSS 單位總結 經典真題 px 和 em 的區別 CSS 中的哪些單位 首先&#xff0c;在 CSS 中&#xff0c;單位分為兩大類&#xff0c;絕對長度單位和相對長度單位。 絕對長度單位 我們先來說這個&#xff0c;絕對長度單位最好理解&#xff0c;和我們現實生活中是一樣的。在我們…

Windows sever Event 70117000事件日志

背景&#xff1a;Windows server2008 頻繁藍屏&#xff0c;日志報錯信息時間ID&#xff1a;7011&7000&#xff0c;Service Control Manager 原因&#xff1a;Service Control Manager transmits control requests to running services and driver services. It also maint…

mysql-MVCC

一、基礎概念 1. MVCC的含義 MVCC (Multiversion Concurrency Control)&#xff0c;即多版本并發控制技術&#xff0c;它是通過讀取某個時間點的快照數據&#xff0c; 來降低并發事務沖突而引起的鎖等待&#xff0c; 從而提高并發性能的一種機制. MVCC 的實現,是通過保存數據…

汽車常識網:電腦主機如何算功率的計算方法?

今天汽車知識網就給大家講解一下如何計算一臺主機的功率。 它還會解釋如何計算計算機主機所需的功率&#xff1f; &#xff1f; &#xff08;如何計算電腦主機所需的功率&#xff09;進行說明。 如果它恰好解決了您現在面臨的問題&#xff0c;請不要忘記關注本站。 讓我們現在就…

勒索組織再次盯緊制造業!亞信安全發布《勒索家族和勒索事件監控報告》

本周態勢快速感知 本周全球共監測到勒索事件104起&#xff0c;事件數量有所下降。 lockbit3.0仍然是影響最嚴重的勒索家族&#xff1b;hunters和play也是兩個活動頻繁的惡意家族&#xff0c;需要注意防范。 本周8base勒索組織竊取安索杰國際貿易公司大量文件&#xff0c;包括…

谷歌掀桌子!開源Gemma:可商用,性能超過Llama 2!

2月22日&#xff0c;谷歌在官網宣布&#xff0c;開源大語言模型Gemma。 Gemma與谷歌最新發布的Gemini 使用了同一架構&#xff0c;有20億、70億兩種參數&#xff0c;每種參數都有預訓練和指令調優兩個版本。 根據谷歌公布的測試顯示&#xff0c;在MMLU、BBH、GSM8K等主流測試…

解密C語言選擇結構:掌握條件語句與分支邏輯的利器

引言 C語?是結構化的程序設計語?&#xff0c;這?的結構指的是順序結構、選擇結構、循環結構。為什么有著三種結構呢&#xff0c;大家其實可以想象一下&#xff0c;生活中的絕大數事情都可以抽象著三種結構&#xff0c;而我們今天要給大家介紹的就是三大結構之一——選擇結構…

Jenkins 中部署Nodejs插件并使用,并構建前端項目(3)

遇到多個版本nodeJS需要構建的時候 1、第一種就是一個配置安裝&#xff0c;然后進行選中配置 2、第二種就是插件&#xff1a;nvm-wrapper&#xff0c;我們還是選用NodeJS插件&#xff1a; &#xff08;1&#xff09;可以加載任意npmrc文件&#xff1b; &#xff08;2&#x…

鴻蒙NEXT出現有前途嗎?是否會和安卓、IOS開發歷程一樣?

只要有手機操作系統這玩意存在&#xff0c;一定是需要原生開發人員的&#xff0c;但隨著獨立操作系統越來越多的話&#xff0c;混合App開發可能是個“萬能解決方案”。 2024年&#xff0c;在中國&#xff0c;被各大媒體和開發者稱為“鴻蒙元年”。 在2023年底就有業內人士透露…

【es6】Map 和 Object 對象的區別

對象 Object Object 是一個特殊的對象&#xff0c;它本身是一個頂級對象&#xff0c;同時還是一個構造函數&#xff0c;還可以使用字面量的方式聲明一個對象本質上是鍵值對的集合&#xff0c;但是健只能是字符串 或 Symbol使用 . [] 去獲取object 的屬性&#xff0c;不存在則…