代碼隨想錄day1

704.二分查找:

1.左閉右閉

int search(vector<int>& nums, int target) {int right = nums.size() - 1;int left = 0;while(left < right){int middle = left + ((right - left) >> 1);if(nums.at(middle) == target){return middle;}else if(nums[middle] > target){right = middle - 1;}else{left = middle + 1;}}return -1;}

2.左閉右開

int search(vector<int>& nums, int target) {int right = nums.size();int left = 0;while(left < right){int middle = left + ((right - left) >> 1);if(nums.at(middle) == target){return middle;}else if(nums[middle] > target){right = middle;}else{left = middle + 1;}}return -1;}

遇到問題:

如果middle等變量的類型采用auto,跑測試用例nums=[5] target=-5時會報錯index越界,后采用int類型。

27.移除元素

int removeElement(vector<int>& nums, int val) {int length = nums.size();int count = 0;for(int i = 0; i < length; i++){if(nums[i] == val){continue;}else{nums[count++] = nums[i];}}return count;}

977.有序數組的平方

注意:考慮非單調遞減數組前后的平方值是最大的,中間的是最小的。遍歷時從兩頭往中間走,從后往前存計算結果,就能達到上述要求

vector<int> sortedSquares(vector<int>& nums) {vector<int> result(nums.size());int left = 0;int right = nums.size() - 1;int index = nums.size() - 1;while(left <= right){int square_left = nums[left] * nums[left];int square_right = nums[right] * nums[right];if(square_left > square_right){result[index--] = square_left;left++;}else{result[index--] = square_right;right--;}}return result;}

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

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

相關文章

四級詞匯第六期

1.accomplish 完成 2.implication 暗示 3.complicated 復雜的 4.extent 范圍 5.sufficient 充足的 6.remarkable 引人注目的 7.insight 洞察 8.executive 管理的 9.overlook 俯瞰 忽略 10.urge 渴望 激勵 11.urgent 緊急的 12.accumulate 積累 13.appreciate 賞識 …

OpenHarmony OTA升級參考資料記錄

OpenHarmony 作為一個開源分布式操作系統,通過其強大的 OTA(Over-The-Air)升級能力,為開發者和廠商提供了一套靈活而安全的系統升級方案。 OTA升級方式 根據升級包的應用方式,OpenHarmony 的 OTA 升級可以分為兩種:本地升級和網絡OTA升級。 本地升級 本地升級是將已制作…

【數據結構篇】順序表 超詳細

目錄 一.順序表的定義 1.順序表的概念及結構 1.1線性表 2.順序表的分類 2.1靜態順序表 2.2動態順序表 二.動態順序表的實現 1.準備工作和注意事項 2.順序表的基本接口&#xff1a; 2.0 創建一個順序表 2.1 順序表的初始化 2.2 順序表的銷毀 2.3 順序表的打印 3.順序…

SDL2基本的繪制流程與步驟

SDL2(Simple DirectMedia Layer 2)是一個跨平臺的多媒體庫,它為游戲開發和圖形應用提供了一個簡單的接口,允許程序直接訪問音頻、鍵盤、鼠標、硬件加速的渲染等功能。在 SDL2 中,屏幕繪制的流程通常涉及到窗口的創建、渲染目標的設置、圖像的繪制、事件的處理等幾個步驟。…

上位機工作感想-2024年工作總結和來年計劃

隨著工作年限的增增長&#xff0c;發現自己越來越不喜歡在博客里面寫一些摻雜自己感想的東西了&#xff0c;或許是逐漸被工作逼得“成熟”了吧。2024年&#xff0c;學到了很多東西&#xff0c;做了很多項目&#xff0c;也幫別人解決了很多問題&#xff0c;唯獨沒有漲工資。來這…

阿里云-銀行核心系統轉型之業務建模與技術建模

業務領域建模包括業務建模和技術建模&#xff0c;整體建模流程圖如下&#xff1a; 業務建模包括業務流程建模和業務對象建模 業務流程建模&#xff1a;通過對業務流程現狀分析&#xff0c;結合目標核心系統建設能力要求&#xff0c;參考行業建 模成果&#xff0c;形成結構化的…

Unity3D基于Unity整合BEPUphysicsint物理引擎實戰詳解

引言 Unity3D是一款流行的游戲引擎&#xff0c;提供了豐富的功能和工具&#xff0c;使開發者能夠輕松創建各種類型的游戲。其中&#xff0c;幀同步技術是游戲開發中至關重要的一環&#xff0c;它能確保多個玩家在同一時間內看到的游戲狀態是一致的。BEPUphysicsint是一個基于U…

【C++筆記】紅黑樹封裝map和set深度剖析

【C筆記】紅黑樹封裝map和set深度剖析 &#x1f525;個人主頁&#xff1a;大白的編程日記 &#x1f525;專欄&#xff1a;C筆記 文章目錄 【C筆記】紅黑樹封裝map和set深度剖析前言一. 源碼及框架分析1.1 源碼框架分析 二. 模擬實現map和set2.1封裝map和set 三.迭代器3.1思路…

win32匯編環境,怎么得到磁盤的盤符

;運行效果 ;win32匯編環境,怎么得到磁盤的盤符 ;以下代碼主要為了展示一下原理&#xff0c;應用GetLogicalDrives、GetLogicalDriveStrings函數、屏蔽某些二進制位、按雙字節復制內容等。以下代碼最多查8個盤&#xff0c;即返回值中的1個字節的信息 ;直接抄進RadAsm可編譯運行。…

MongoDB vs Redis:相似與區別

前言 在當今的數據庫領域&#xff0c;MongoDB 和 Redis 都是備受關注的非關系型數據庫&#xff08;NoSQL&#xff09;&#xff0c;它們各自具有獨特的優勢和適用場景。本文將深入探討 MongoDB 和 Redis 的特點&#xff0c;并詳細對比它們之間的相似之處和區別&#xff0c;幫助…

mybatis(19/134)

大致了解了一下工具類&#xff0c;自己手敲了一邊&#xff0c;java的封裝還是真的省去了很多麻煩&#xff0c;封裝成一個工具類就可以不用寫很多重復的步驟&#xff0c;一個工廠對應一個數據庫一個environment就好了。 mybatis中調用sql中的delete占位符里面需要有字符&#xf…

重學SpringBoot3-WebClient配置與使用詳解

更多SpringBoot3內容請關注我的專欄&#xff1a;《SpringBoot3》 期待您的點贊??收藏評論 重學SpringBoot3-WebClient配置與使用詳解 1. 簡介2. 環境準備 2.1 依賴配置 3. WebClient配置 3.1 基礎配置3.2 高級配置3.3 retrieve()和exchange()區別 4. 使用示例 4.1 基本請求操…

.Net Core微服務入門全紀錄(二)——Consul-服務注冊與發現(上)

系列文章目錄 1、.Net Core微服務入門系列&#xff08;一&#xff09;——項目搭建 2、.Net Core微服務入門全紀錄&#xff08;二&#xff09;——Consul-服務注冊與發現&#xff08;上&#xff09; 3、.Net Core微服務入門全紀錄&#xff08;三&#xff09;——Consul-服務注…

Spark Streaming的核心功能及其示例PySpark代碼

Spark Streaming是Apache Spark中用于實時流數據處理的模塊。以下是一些常見功能的實用PySpark代碼示例&#xff1a; 基礎流處理&#xff1a;從TCP套接字讀取數據并統計單詞數量 from pyspark import SparkContext from pyspark.streaming import StreamingContext# 創建Spar…

深度學習系列75:sql大模型工具vanna

1. 概述 vanna是一個可以將自然語言轉為sql的工具。簡單的demo如下&#xff1a; !pip install vanna import vanna from vanna.remote import VannaDefault vn VannaDefault(modelchinook, api_keyvanna.get_api_key(my-emailexample.com)) vn.connect_to_sqlite(https://va…

【線性代數】列主元法求矩陣的逆

列主元方法是一種用于求解矩陣逆的數值方法&#xff0c;特別適用于在計算機上實現。其基本思想是通過高斯消元法將矩陣轉換為上三角矩陣&#xff0c;然后通過回代求解矩陣的逆。以下是列主元方法求解矩陣 A A A 的逆的步驟&#xff1a; [精確算法] 列主元高斯消元法 步驟 1&am…

[0242-06].第06節:SpringBoot對SpringMVC的自動配置

SpringBoot學習大綱 一、基于SpringBoot搭建Web工程&#xff1a; 1.1.編碼實現步驟&#xff1a; a.創建SpringBoot項目 b.選中依賴&#xff1a;選中我們所需要的模塊 1.2.SSM中的WEB開發配置與SpringBoot中WEB開發自動配置對比&#xff1a; a.SSM中的WEB開發&#xff1a; 1…

【21】Word:德國旅游業務?

目錄 題目 NO1.2.3 NO4 NO5.6 NO7 NO8.9.10.11 題目 NO1.2.3 F12&#xff1a;另存為布局→頁面設置→頁邊距&#xff1a;上下左右選中“德國主要城市”→開始→字體對話框→字體/字號→文本效果&#xff1a;段落對話框→對齊方式/字符間距/段落間距 NO4 布局→表對話框…

什么是軟件架構

什么是軟件架構 程序員說&#xff0c;軟件架構是要決定編寫哪些C程序或OO類、使用哪些庫和框架 程序經理說&#xff0c;軟件架構就是模塊的劃分和接口的定義 系統分析員說&#xff0c;軟件架構就是為業務領域對象的關系建模 配置管理員說&#xff0c;軟件架構就是開發出來的…

1/20賽后總結

1/20賽后總結 T1『討論區管理員』的旅行 - BBC編程訓練營 算法&#xff1a;IDA* 分數&#xff1a;0 damn it! Ac_code走丟了~~&#xff08;主要是沒有寫出來&#xff09;~~ T2華強買瓜 - BBC編程訓練營 算法&#xff1a;雙向DFS或者DFS剪枝 分數&#xff1a;0 Ac_code…