LeetCode -- Flora -- edit 2025-04-17

?1.最長連續序列

128. 最長連續序列

給定一個未排序的整數數組?nums?,找出數字連續的最長序列(不要求序列元素在原數組中連續)的長度。

請你設計并實現時間復雜度為?O(n)?的算法解決此問題。

示例 1:

輸入:nums = [100,4,200,1,3,2]
輸出:4
解釋:最長數字連續序列是 [1, 2, 3, 4]。它的長度為 4。

示例 2:

輸入:nums = [0,3,7,2,5,8,4,6,0,1]
輸出:9

示例 3:

輸入:nums = [1,0,1,2]
輸出:3

提示:

  • 0 <= nums.length <= 105
  • -109 <= nums[i] <= 109
public static void main(String[] args) {int[] nums1 = {100,4,200,1,3,2};//排序int[] nums2 = {0};//1個數int[] nums3 = {0,-1};//絕對值==1 連續int[] nums = {0,3,7,2,5,8,4,6,0,1};//去重int longestConsecutive = longestConsecutive2(nums);System.out.println(longestConsecutive);}//1-answerpublic static int longestConsecutive2(int[] nums) {if(nums.length == 0){return 0;}Arrays.sort(nums);//排序int longestStreak = 1;//最大連續長度int currentStreak = 1;//當前連續長度for(int i = 1; i < nums.length; i++){if(nums[i] != nums[i-1]){//去重if(nums[i] == nums[i-1] + 1){//差值1,連續currentStreak += 1;}else{longestStreak = Math.max(longestStreak, currentStreak);//判斷更新currentStreak = 1;//重置}}}return Math.max(longestStreak, currentStreak);}//1-mypublic static int longestConsecutive(int[] nums) {Arrays.sort(nums);int longest = 0;List<List<Integer>> enterList = new ArrayList<>();//起始,長度for (int i = 0;i<nums.length; i++){List<Integer> list = new ArrayList<>();list.add(nums[i]);int left = 0;int right = 0;for (int j = i+1; j<nums.length ;j++){left = nums[j-1];right = nums[j];if (left==right){continue;}if ( Math.abs(left-right) == 1){list.add(nums[j]);}if (Math.abs(left-right) != 1){break;}}enterList.add(list);i = i+list.size()-1;}for (List<Integer> o : enterList) {//空間利用率很差if (o.size()>longest){longest = o.size();}}return longest;}

2.移動零

283. 移動零

給定一個數組?nums,編寫一個函數將所有?0?移動到數組的末尾,同時保持非零元素的相對順序。

請注意?,必須在不復制數組的情況下原地對數組進行操作。

示例 1:

輸入: nums = [0,1,0,3,12]
輸出: [1,3,12,0,0]

示例 2:

輸入: nums = [0]
輸出: [0]

提示:

  • 1 <= nums.length <= 104
  • -231?<= nums[i] <= 231?- 1

進階:你能盡量減少完成的操作次數嗎?

public static void main(String[] args) {int[] nums = {0,3,7,2,5,8,4,6,0,1};//去重moveZeroes2(nums);System.out.println(Arrays.toString(nums));}//2-answerpublic static void moveZeroes2(int[] nums) {int i=0,j=0;while(j<nums.length){if(nums[j] != 0){nums[i] = nums[j];i++;//indexAfterMove}j++;//index}while(i < nums.length){nums[i++] = 0;}}//2-mypublic static void moveZeroes(int[] nums) {int zeroCount = 0;Map<Integer,Integer> rightIndexAndNumMap = new HashMap<>();for (int i = 0; i < nums.length; i++) {if (nums[i] == 0){zeroCount++;}if (nums[i]!=0 && zeroCount>0){//開始移動rightIndexAndNumMap.put(i-zeroCount,nums[i]);}}for (Map.Entry<Integer, Integer> entry : rightIndexAndNumMap.entrySet()) {nums[entry.getKey()] = entry.getValue();}for (int i = 0; i < zeroCount; i++) {nums[nums.length-i-1] = 0;}}

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

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

相關文章

Sql刷題日志(day3)

一、筆試 1、min(date_time)&#xff1a;求最早日期 2、mysql中distinct不能與order by 連用&#xff0c;可以用group by去重 二、面試 1、SQL中如何利用replace函數統計給定重復字段在字符串中的出現次數 (length(all_string)-length(all_string,目標字符串,))/length(ta…

解決 Spring Boot 多數據源環境下事務管理器沖突問題(非Neo4j請求標記了 @Transactional 嘗試啟動Neo4j的事務管理器)

0. 寫在前面 到底遇到了什么問題&#xff1f; 簡潔版&#xff1a; 在 Oracle 與 Neo4j 共存的多數據源項目中&#xff0c;一個僅涉及 Oracle 操作的請求&#xff0c;卻因為 Neo4j 連接失敗而報錯。根本原因是 Spring 的默認事務管理器錯誤地指向了 Neo4j&#xff0c;導致不相…

理解和實現RESTful API的最佳實踐

理解和實現RESTful API的最佳實踐 在當今數字化時代&#xff0c;APIs已成為軟件開發的核心組件&#xff0c;而RESTful API以其簡潔、靈活和可擴展性成為最流行的API設計風格。本文將深入探討RESTful API的概念、特點和實施指南&#xff0c;幫助開發者構建高效、可靠的Web服務。…

大語言模型微調技術與實踐:從原理到應用

大語言模型微調技術與實踐&#xff1a;從原理到應用 摘要&#xff1a;隨著大語言模型&#xff08;LLM&#xff09;技術的迅猛發展&#xff0c;預訓練語言模型在各種自然語言處理任務中展現出強大的能力。然而&#xff0c;將這些通用的預訓練模型直接應用于特定領域或任務時&am…

遨游科普:三防平板除了三防特性?還能實現什么功能?

在工業4.0浪潮席卷全球的今天&#xff0c;電子設備的功能邊界正經歷著革命性突破。三防平板電腦作為"危、急、特"場景的智能終端代表&#xff0c;其價值早已超越防水、防塵、防摔的基礎防護屬性。遨游通訊通過系統級技術創新&#xff0c;將三防平板打造為集通信中樞、…

前端實戰:基于 Vue 與 QRCode 庫實現動態二維碼合成與下載功能

在現代 Web 應用開發中&#xff0c;二維碼的應用越來越廣泛&#xff0c;從電子票務到信息傳遞&#xff0c;它都扮演著重要角色。本文將分享如何在 Vue 項目中&#xff0c;結合QRCode庫實現動態二維碼的生成、與背景圖合成以及圖片下載功能&#xff0c;打造一個完整且實用的二維…

HAL詳解

一、直通式HAL 這里使用一個案例來介紹直通式HAL&#xff0c;選擇MTK的NFC HIDL 1.0為例&#xff0c;因為比較簡單&#xff0c;代碼量也比較小&#xff0c;其源碼路徑&#xff1a;vendor/hardware/interfaces/nfc/1.0/ 1、NFC HAL的定義 1&#xff09;NFC HAL數據類型 通常定…

Vue自定義指令-防抖節流

Vue2版本 // 防抖 // <el-button v-debounce"[reset,click,300]" ></el-button> // <el-button v-debounce"[reset]" ></el-button> Vue.directive(debounce, { inserted: function (el, binding) { let [fn, event "cl…

AI知識補全(十六):A2A - 谷歌開源的agent通信協議是什么?

名人說&#xff1a;一笑出門去&#xff0c;千里落花風。——辛棄疾《水調歌頭我飲不須勸》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;AI知識補全&#xff08;十五&#xff09;&#xff1a;AI可解…

【機器人創新創業應需明確產品定位與方向指南】

機器人領域的創新創業, 需要對公司和產品的定位和生態進行深入思考, 明確其定位與發展目標, 明確產品在是為G、為B還是為C進行服務。 本文引用地址&#xff1a;https://www.eepw.com.cn/article/202504/469401.htm 超前的、探索性的創新技術一般是面向G端, 而不是面向B端或者C…

網安加·百家講壇 | 劉志誠:AI安全風險與未來展望

作者簡介&#xff1a;劉志誠&#xff0c;樂信集團信息安全中心總監、OWASP廣東區域負責人、網安加社區特聘專家。專注于企業數字化過程中網絡空間安全風險治理&#xff0c;對大數據、人工智能、區塊鏈等新技術在金融風險治理領域的應用&#xff0c;以及新技術帶來的技術風險治理…

TOA與AOA聯合定位的高精度算法,三維、4個基站的情況,MATLAB例程,附完整代碼

本代碼實現了三維空間內目標的高精度定位,結合到達角(AOA) 和到達時間(TOA) 兩種測量方法,通過4個基站的協同觀測,利用最小二乘法解算目標位置。代碼支持噪聲模擬、誤差分析及三維可視化,適用于無人機導航、室內定位等場景。訂閱專欄后可獲得完整代碼 文章目錄 運行結果…

2025MathorcupC題 音頻文件的高質量讀寫與去噪優化 保姆級教程講解|模型講解

2025Mathorcup數學建模挑戰賽&#xff08;媽媽杯&#xff09;C題保姆級分析完整思路代碼數據教學 C題&#xff1a;音頻文件的高質量讀寫與去噪優化 隨著數字媒體技術的迅速發展&#xff0c;音頻處理成為信息時代的關鍵技術之一。在日常生活中&#xff0c;從錄音設備捕捉的原始…

Deno Dep:顛覆傳統的模塊化未來

一、重新定義依賴管理&#xff1a;Deno Dep 的革新哲學 Deno Dep&#xff08;原Deno包管理器&#xff09;徹底重構了JavaScript/TypeScript的依賴管理方式&#xff0c;其核心突破體現在&#xff1a; 1. 瀏覽器優先的模塊化&#xff08;URL-Centric Modules&#xff09; // 直…

歐拉系統升級openssh 9.7p1

開發的系統準備上線&#xff0c;甲方對歐拉服務器進行了掃描&#xff0c;發現openssh版本為8.2p1&#xff0c;存在漏洞&#xff0c;因此需要升級openssh至9.7p1。歐拉系統版本為20.03 SP3。 1、下載openssh 9.7p1 https://www.openssh.com/releasenotes.html&#xff0c; 將下…

如何精通C++編程?

如果從學生時代算起的話&#xff0c;我學習和使用C已經差不多快十年了&#xff0c;仍然不敢說自己已經掌握了C的全部特性&#xff0c;但或許能夠給出一些有用的建議吧。 我學習C全靠自學&#xff0c;花費了不少的功夫&#xff0c;在這里分享一些學習心得&#xff0c;希望對大家…

提高Qt工作線程的運行速度

1. 使用線程池&#xff08;QThreadPool&#xff09;替代單一線程 做過&#xff0c;但是當時沒想到。。。 目的&#xff1a;減少線程創建和銷毀的開銷&#xff0c;復用線程資源。 實現步驟&#xff1a; 創建自定義任務類&#xff1a;繼承QRunnable&#xff0c;實現run()方法。…

Solon AI MCP Server 入門:Helloworld (支持 java8 到 java24。國產解決方案)

目前網上能看到的 MCP Server 基本上都是基于 Python 或者 nodejs &#xff0c;雖然也有 Java 版本的 MCP SDK&#xff0c;但是鮮有基于 Java 開發的。 作為Java 開發中的國產頂級框架 Solon 已經基于 MCP SDK 在進行 Solon AI MCP 框架開發了&#xff0c;本文將使用 Solon AI …

STL之迭代器(iterator)

迭代器的基本概念 迭代器(iterator)模式又稱為游標(Cursor)模式&#xff0c;用于提供一種方法順序訪問一個聚合對象中各個元素, 而又不需暴露該對象的內部表示。或者這樣說可能更容易理解&#xff1a;Iterator模式是運用于聚合對象的一種模式&#xff0c;通過運用該模式&#…

Android系統通知機制深度解析:Framework至SystemUI全鏈路剖析

1. 前言 在Android 13的ROM定制化開發中&#xff0c;系統通知機制作為用戶交互的核心組件&#xff0c;其實現涉及Framework層到SystemUI的復雜協作。本文將深入剖析從Notification發送到呈現的全鏈路流程&#xff0c;重點解析關鍵類的作用機制及系統服務間的交互邏輯&#xff…