Leetcode 刷題記錄 21 —— 技巧

Leetcode 刷題記錄 21 —— 技巧

本系列為筆者的 Leetcode 刷題記錄,順序為 Hot 100 題官方順序,根據標簽命名,記錄筆者總結的做題思路,附部分代碼解釋和疑問解答,01~07為C++語言,08及以后為Java語言,一共為 01~21,本系列全部結束。

01 只出現一次的數字

在這里插入圖片描述

在這里插入圖片描述

class Solution {public int singleNumber(int[] nums) {int result = 0;for(int num : nums){result ^= num;}return result;}
}

位運算

在這里插入圖片描述

02 多數元素

在這里插入圖片描述

在這里插入圖片描述

class Solution {public int majorityElement(int[] nums) {Map<Integer, Integer> map = new HashMap<>();int n = nums.length;int ans = 0;for(int num : nums){if(!map.containsKey(num)){map.put(num, 1);}else{map.put(num, map.get(num) + 1);}}for(int num : nums){if(map.get(num) > (n/2)){ans = num;break;}}return ans;}
}

03 顏色分類

在這里插入圖片描述

在這里插入圖片描述

class Solution {public void sortColors(int[] nums) {int n = nums.length;int ptr = 0;//第一次遍歷,將0交換到頭部for(int i=0; i<n; i++){if(nums[i] == 0){int temp = nums[ptr];nums[ptr] = nums[i];nums[i] = temp; ptr++;}}//第二次遍歷,將1交換到0之后for(int i=ptr; i<n; i++){if(nums[i] == 1){int temp = nums[ptr];nums[ptr] = nums[i];nums[i] = temp; ptr++;}}}
}

04 下一個排列

在這里插入圖片描述

在這里插入圖片描述

class Solution {public void nextPermutation(int[] nums) {int len = nums.length;//特殊情況判斷if(nums == null || nums.length < 2){return;}int i = len -2, j = len - 1, k = len - 1;while(i >= 0 && nums[i] >= nums[j]){i--;j--;}if(i >= 0){while(nums[i] >= nums[k]){k--;}int temp = nums[i];nums[i] = nums[k];nums[k] = temp;}int left = j, right = len - 1;while(left < right){int temp = nums[left];nums[left] = nums[right];nums[right] = temp;left++;right--;}}
}

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

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

相關文章

Android Studio Meerkat | 2024.3.1 Gradle Tasks不展示

把這兩個開關打開&#xff0c;然后刷新gradle文件

Java中方法重寫與重載的區別

目錄 1. 方法重載 (Overload) 什么是方法重載&#xff1f; 重載的特點&#xff1a; 重載的示例&#xff1a; 重載的調用&#xff1a; 2. 方法重寫 (Override) 什么是方法重寫&#xff1f; 重寫的特點&#xff1a; 重寫的示例&#xff1a; 重寫的調用&#xff1a; 3.…

微信小程序發送訂閱消息-一次訂閱,一直發送消息。

實現思路長期訂閱要求太高&#xff0c;需要政府、公共交通等單位才有資格&#xff0c;所以只能使用一次性訂閱。 就像是買奶茶&#xff0c;下單以后&#xff0c;會彈出讓用戶訂閱消息那種。以買奶茶為例:用戶第一次下單成功&#xff0c;點擊了訂閱消息。&#xff08;一般都有三…

408 Request Timeout:請求超時,服務器等待客戶端發送請求的時間過長。

408 Request Timeout 是 HTTP 狀態碼之一&#xff0c;表示客戶端在發送請求時&#xff0c;服務器等待的時間過長&#xff0c;最終放棄了處理該請求。此問題通常與網絡延遲、客戶端配置、服務器設置或者應用程序的性能有關。1. 常見原因1.1 客戶端問題網絡連接延遲或不穩定&…

MongoDB面試集錦

該書的使用的MongoDB版本是 4.2.01、什么是NoSQL數據庫&#xff1f;NoSQL和RDBMS有什么區別&#xff1f;在那些情況下使用和不使用NoSQL數據庫&#xff1f;NoSQL是非關系型數據庫&#xff0c;NoSQLNot Only SQL 。關系型數據庫采用的是結構化的數據&#xff0c;NoSQL采用的是鍵…

直擊JVM面試題

JVM組成 JVM JVM 就是 Java 程序的運行環境&#xff0c;它通過 類加載、字節碼執行、內存管理、GC、線程調度 等機制&#xff0c;讓 Java 實現了 跨平臺、自動內存管理和高效執行。 它是一個抽象的計算機&#xff0c;能執行以 字節碼&#xff08;.class 文件&#xff09; 為單…

地球系統模式(CESM)實踐技術應用及進階

目前通用地球系統模式&#xff08;Community Earth System Model&#xff0c;CESM&#xff09;在研究地球的過去、現在和未來的氣候狀況中具有越來越普遍的應用。CESM由美國NCAR于2010年07月推出以來&#xff0c;一直受到氣候學界的密切關注。近年升級的CESM2.0在大氣、陸地、海…

StarRocks導入數據-使用 Broker Load 進行異步導入

目錄 一、背景 二、實操 三、查看導入進度 一、背景 將hive庫數據表導入starrocks. 二、實操 LOAD LABEL user_behavior (DATA INFILE("hdfs://<hdfs_ip>:<hdfs_port>/user/amber/user_behavior_ten_million_rows.parquet")INTO TABLE user_behavior…

c語言,識別到黑色就自動開槍,4399單擊游戲狙擊戰場,源碼分享,豆包ai出品

不好用&#xff0c;識別速度慢&#xff0c;有時候識別不準確#include <windows.h> #include <stdio.h> #include <math.h> HDC hdcScreen; void leftClick(); void RGBtoHSV(int r, int g, int b, int* h, int* s, int* v); int fuzzyFindColor(int x1, int…

電動汽車充電標準之 — SAE J1772“電動汽車傳導充電連接器”簡介

SAE J1772&#xff08;通常讀作 "J seventeen seventy-two"&#xff09;是由美國汽車工程師學會&#xff08;SAE&#xff09;制定的&#xff0c;針對電動汽車傳導充電連接器的北美標準。它規范了電動汽車&#xff08;EV&#xff09;與充電設備&#xff08;EVSE&#…

ZooKeeper Multi-op+樂觀鎖實戰優化:提升分布式Worker節點狀態一致性

系列文章目錄 第一章 ZooKeeper入門概述:Znode,Watcher,ZAB . 第二章 技術解析&#xff1a;基于 ZooKeeper 實現高可用的主-從協調系統&#xff08;通過例子深入理解Zookeeper如何進行協調分布式系統&#xff09; 第三章 基于 ZooKeeper 的主從模式任務調度系統&#xff1a;設…

生產制造過程精益化

一、核心原則&#xff1a;以“消除浪費、創造價值”為核心精益化的本質是通過系統性優化流程&#xff0c;最大化客戶價值&#xff0c;最小化資源浪費&#xff08;時間、成本、庫存等&#xff09;&#xff0c;核心原則包括&#xff1a;1. 價值導向原則定義客戶價值&#xff1a;從…

Ping命令為何選擇ICMP而非TCP/UDP?

在網絡診斷工具中&#xff0c;ping是最常用的命令之一&#xff0c;它用于測試主機之間的連通性。有趣的是&#xff0c;ping命令并不使用TCP或UDP這些傳輸層協議&#xff0c;而是基于網絡層的ICMP協議。這背后的設計選擇體現了計算機網絡協議棧的分層智慧和特定用途的優化。ICMP…

VGGNet:為什么16層簡單堆疊能成為CNN經典?

配套筆記&講解視頻,點擊文末名片獲取 研究背景和動機 在 VGG 出現之前,圖像識別就像“盲人摸象”: 計算機看一張圖,只能憑感覺抓幾個零散的“特征點”, 結果忽好忽壞,時靈時不靈。 大家發現,如果把“看圖的流程”做得更深、更系統,準確率就能蹭蹭往上漲。于是“深一…

springboot+vue醫院診療管理系統(源碼+文檔+調試+基礎修改+答疑)

目錄 一、整體目錄&#xff08;示范&#xff09;&#xff1a; 文檔含項目技術介紹、E-R圖、數據字典、項目功能介紹與截圖等 二、運行截圖 三、代碼部分&#xff08;示范&#xff09;&#xff1a; 四、數據庫表(示范)&#xff1a; 數據庫表有注釋&#xff0c;可以導出數據…

云蝠智能大模型呼叫新模型上線,擁抱AGI

在人工智能浪潮席卷全球的今天&#xff0c;AGI&#xff08;通用人工智能&#xff09;已不再遙不可及&#xff0c;而是正逐步成為驅動產業變革的核心力量。在這場技術革命中&#xff0c;云蝠智能以其前瞻性的戰略布局和技術創新&#xff0c;再次引領行業風向——全新大模型呼叫模…

晨控CK-GW08S-PN與西門子PLC配置Profinet通訊連接操作手冊

晨控CK-GW08S-PN與西門子PLC配置Profinet通訊連接操作手冊晨控CK-GW08S系列作為晨控智能工業級別網關型RFID讀寫器,支持大部分工業協議如RS232、RS485、以太網。支持工業協議Modbus RTU、Modbus TCP、Profinet、EtherNet/lP、EtherCat以及自由協議TCP/IP等。本期主題&#xff1…

【Linux】Linux常用指令合集

本文是小編鞏固自身而作&#xff0c;如有錯誤&#xff0c;歡迎指出&#xff01; 目錄 一、文件與目錄操作 (1) 查看目錄&#xff0c;切換目錄 pwd ls cd &#xff08;2&#xff09;創建、 刪除 mkdir touch rmdir rm cp mv 二、文件的查看及更改 (1)查看和更改 …

MySQL 高級特性與性能優化:深入理解函數、視圖、存儲過程、觸發器

大家好&#xff01;今天我們要深入探討 MySQL 中一些非常重要的高級主題——內置函數、視圖、存儲過程、觸發器、索引、事務和鎖機制。無論你是剛開始學習數據庫的新手&#xff0c;還是經驗豐富的開發者&#xff0c;掌握這些知識點都將極大提升你的開發效率和數據管理能力。一.…

Linux學習:基于環形隊列的生產者消費者模型

目錄1. 環形隊列的概念與實現方法1.1 環形隊列的概念1.2 環形隊列的一般實現方法2. 多線程相關的信號量概念與接口2.1 信號量類型2.2 信號量的初始化與銷毀2.3 信號量的P申請、V釋放操作3. 基于環形隊列實現p、c模型的設計方案3.1 環形隊列&#xff08;ringqueue&#xff09;作…