dwj2025426

目錄

一、25. K 個一組翻轉鏈表 - 力扣(LeetCode)

二、?215. 數組中的第K個最大元素 - 力扣(LeetCode)

三、?15. 三數之和 - 力扣(LeetCode)


一、25. K 個一組翻轉鏈表 - 力扣(LeetCode)

  • 先遍歷順序表將節點都存在順序表里面 便于交換
  • 確定交換的組數,int kRotal = lists.size() / k;
  • 一組一組的交換,不足一組的不需要交換
  • 將交換完成的順序表連起來,lists.get(0)返回,最后一個的next置空
public ListNode reverseKGroup(ListNode head, int k) {List<ListNode> lists = new ArrayList<>();while (head != null) {//存入順序表lists.add(head);head = head.next;}//確定交換的組數int kRotal = lists.size() / k;int left = 0;int right = left + k - 1;while (kRotal-- > 0) {int tRight = right;int tLeft = left;while (tLeft < tRight) {ListNode temp = lists.get(tLeft);lists.set(tLeft, lists.get(tRight));lists.set(tRight, temp);tLeft++;tRight--;}left = right + 1;right = left + k - 1;}lists.get(lists.size() - 1).next = null;for (int i = 0; i < lists.size() - 1; i++) {lists.get(i).next = lists.get(i + 1);}return lists.get(0);}

二、?215. 數組中的第K個最大元素 - 力扣(LeetCode)

大根堆存一下

然后poll k-1次

最后堆頂就是第k大 peek一下

?

 public int findKthLargest(int[] nums, int k) {PriorityQueue<Integer> queue = new PriorityQueue<>((a,b) -> b-a);for(int val : nums){queue.offer(val);}while(k > 1){queue.poll();k--;}return queue.peek();}

三、?15. 三數之和 - 力扣(LeetCode)

定住一個數 然后找兩數之和,并去重

 public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> ret = new ArrayList<>();Arrays.sort(nums);for(int i = 0;i < nums.length;){int left = i+1;int target = nums[i];int right = nums.length - 1;while(left < right){if(nums[left] + nums[right] == -target){List<Integer> ret1 = new ArrayList<>();ret1.add(nums[left]);ret1.add(nums[right]);ret1.add(target);ret.add(ret1);left++;right--;while(left < right && nums[left] == nums[left-1]){left++;}while(left < right && nums[right] == nums[right+1]){right--;}    }else if(nums[left] + nums[right] > -target){right--;}else{left++;}}i++;while(i < nums.length && nums[i] == nums[i-1]){i++;}}return ret;}

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

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

相關文章

C++ std::forward 詳解

在 C 11 引入的眾多特性中&#xff0c;std::forward占據著獨特且重要的地位。它主要用于實現所謂的 “完美轉發”&#xff0c;這一機制在現代 C 編程中發揮著關鍵作用&#xff0c;尤其是在編寫通用庫和高效代碼時。 什么是完美轉發&#xff1f; 完美轉發是指在函數模板中&…

如何保證線程安全(含典型手段與應用場景)

? 1. 什么是線程安全&#xff1f; 線程安全指的是&#xff1a;當多個線程同時訪問同一塊代碼時&#xff0c;無論運行時環境采用怎樣的調度方式或者這些線程將怎樣交替執行&#xff0c;代碼的行為都能正確執行&#xff0c;且不會出現數據不一致、臟數據或異常崩潰。 舉個簡單…

Qt/C++開發監控GB28181系統/協議解釋說明/SIP內容解釋/每一行數據什么含義

一、前言 搞gb28181開發&#xff0c;首要任務就是解析協議&#xff0c;按照gb28181的文檔來&#xff0c;還是非常詳細的&#xff0c;通過抓包工具可以查看到具體的收發數據&#xff0c;也可以打開網絡調試助手工具&#xff0c;監聽5060端口&#xff0c;看到上報的數據&#xf…

C++:string 1

練習題&#xff1a; 這個題的思路是從前往后&#xff0c;從后往前同時找&#xff0c;不是字母的話就繼續&#xff0c;是的話就交換。 代碼&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <string> using namespace std; //1、4個…

SMT貼片加工費控制與優化實踐指南

內容概要 SMT貼片加工費的控制與優化需建立在對成本結構的系統性認知基礎上。本節從物料采購、設備運行、工藝參數三大維度切入&#xff0c;結合BOM清單管理、鋼網使用規范等實操環節&#xff0c;構建覆蓋全流程的降本增效框架。以下表格列舉了SMT加工成本的典型構成要素及其占…

未來醫院已來:AI如何實現無死角安全監控

AI智慧醫院如何用算法守護安全與效率 ## 背景&#xff1a;醫療場景的智能化轉型需求 現代醫院作為人員密集、場景復雜的公共場所&#xff0c;面臨諸多管理痛點&#xff1a;患者跌倒可能延誤救治、醫鬧事件威脅安全、醫療垃圾處置不當引發感染風險、重點區域&#xff08;如藥…

Nuxt3中使用UnoCSS指南

Nuxt3中使用UnoCSS指南 UnoCSS是一個高度可定制的、原子化CSS引擎&#xff0c;可以輕松集成到Nuxt3項目中。下面介紹如何在Nuxt3中安裝和配置UnoCSS。 安裝步驟 安裝UnoCSS的Nuxt模塊&#xff1a; # 使用pnpm pnpm add -D unocss unocss/nuxt# 使用yarn yarn add -D unocss…

mmap詳解

mmap詳解 mmap基礎概念mmap內存映射原理mmap相關函數調用mmap的使用細節mmap和常規文件操作的區別 mmap基礎概念 mmap是一種內存映射文件的方法&#xff0c;即將一個文件或者其它對象映射到進程的地址空間&#xff0c;實現文件磁盤地址和進程虛擬地址空間中一段虛擬地址的一一…

Vue3的內置組件 -實現過渡動畫 TransitionGroup

Vue3的內置組件 -實現過渡動畫 TransitionGroup 是一個內置組件&#xff0c;用于對 v-for 列表中的元素或組件的插入、移除和順序改變添加動畫效果 支持和 基本相同的 props、CSS 過渡 class 和 JavaScript 鉤子監聽器&#xff0c;但有以下幾點區別&#xff1a; 默認情況下&…

【軟考-架構】14、軟件可靠性基礎

?資料&文章更新? GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目錄 軟件可靠性基本概念軟件可靠性建模軟件可靠性管理軟件可靠性設計N版本程序設計恢復塊設計&#xff08;動態冗余&#xff09;雙機容錯技術、集群技術負載均衡軟件可靠性測試…

使用Python+OpenCV對視頻抽幀保存為JPG圖像

使用PythonOpenCV對視頻抽幀保存為JPG圖像 import os import cv2 import time#視頻文件夾路徑&#xff0c;可修改 videoPath D:\\video\\ #保存的圖片文件夾路徑&#xff0c;可修改 savePath D:\\images\\ videolist os.listdir(videoPath) if not os.path.exists(savePath…

學習整理在centos7上安裝mysql8.0版本教程

學習整理在centos7上安裝mysql8.0版本教程 查看linux系統版本下載mysql數據庫安裝環境檢查解壓mysql安裝包創建MySQL需要的目錄及授權新增用戶組新增組用戶配置mysql環境變量編寫MySQL配置文件初始化數據庫初始化msyql服務啟動mysql修改初始化密碼配置Linux 系統服務工具,使My…

DeepSeek預訓練追求極致的訓練效率的做法

DeepSeek在預訓練階段通過多種技術手段實現了極致的訓練效率,其中包括采用FP8混合精度訓練框架以降低計算和內存需求 ,創新性地引入Multi-head Latent Attention(MLA)壓縮KV緩存以提升推理效率,以及基于Mixture-of-Experts(MoE)的稀疏計算架構以在保證性能的同時顯著降低…

【計算機視覺】CV項目實戰- 深度解析TorchVision_Maskrcnn:基于PyTorch的實例分割實戰指南

深度解析TorchVision_Maskrcnn&#xff1a;基于PyTorch的實例分割實戰指南 技術背景與核心原理Mask R-CNN架構解析項目特點 完整實戰流程環境準備硬件要求軟件依賴 數據準備與標注1. 圖像采集2. 數據標注3. 數據格式轉換 模型構建與訓練1. 模型初始化2. 數據加載器配置3. 訓練優…

x86系列CPU寄存器和匯編指令總結

文章目錄 概要一、寄存器1.1、8086寄存器1.2、通用寄存器1.3、擴展寄存器 二、指令集三、x86指令集常見指令使用說明四、匯編4.1、匯編語法4.2、nsam匯編 五、參考 概要 在對學習Go的過程中&#xff0c;涉及到了匯編&#xff0c;因此對X86系列CPU的背景、寄存器、匯編指令做了一…

戴維斯雙擊選股公式如何編寫?

戴維斯雙擊&#xff0c;指的是營收增長和凈利潤增長同步&#xff0c;并有超預期的財務狀況。 戴維斯雙擊是指在低市盈率&#xff08;P/E&#xff09;時買入股票&#xff0c;待公司盈利增長和市盈率提升后賣出&#xff0c;以獲取雙重收益。以下是一個簡單的通達信選股模型示例&…

前端面試寶典---vue原理

vue的Observer簡化版 class Observer {constructor(value) {if (!value || typeof value ! object) returnthis.walk(value) // 對對象的所有屬性進行遍歷并定義響應式}walk (obj) {Object.keys(obj).forEach(key > defineReactive(obj, key, obj[key]))} } // 定義核心方法…

從“聾啞設備“到超級工廠:EtherCAT轉Modbus協議網關正在重構工業未來

當全球工廠加速邁向工業4.0&#xff0c;您的生產線是否因Modbus設備“拖后腿”而被迫降速&#xff1f;無需百萬改造&#xff01;無需淘汰設備&#xff01;一套EtherCAT從站轉Modbus協議網關&#xff0c;讓30年老機床與智能工廠實時對話&#xff0c;效率飆升300%&#xff01; 一…

Tauri文件系統操作:桌面應用的核心能力(入門系列四)

今天我們來聊聊Tauri中一個超級重要的功能 - 文件系統操作。這可是Web應用和桌面應用最大的區別之一。在瀏覽器里&#xff0c;出于安全考慮&#xff0c;我們對文件系統的訪問被限制得死死的。但在Tauri桌面應用中&#xff0c;我們可以安全地訪問用戶的文件系統&#xff0c;這簡…

Python解析地址中省市區街道

Python解析地址中省市區街道 1、效果 輸入&#xff1a;海珠區沙園街道西基村 輸出&#xff1a; 2、導入庫 pip install jionlp3、示例代碼 import jionlp as jiotext 海珠區沙園街道西基村 res jio.parse_location(text, town_villageTrue) print(res)