LeetCode 2401.最長優雅子數組

給你一個由 正 整數組成的數組 nums 。

如果 nums 的子數組中位于 不同 位置的每對元素按位 與(AND)運算的結果等于 0 ,則稱該子數組為 優雅 子數組。

返回 最長 的優雅子數組的長度。

子數組 是數組中的一個 連續 部分。

注意:長度為 1 的子數組始終視作優雅子數組。

示例 1:

輸入:nums = [1,3,8,48,10]
輸出:3
解釋:最長的優雅子數組是 [3,8,48] 。子數組滿足題目條件:

  • 3 AND 8 = 0
  • 3 AND 48 = 0
  • 8 AND 48 = 0
    可以證明不存在更長的優雅子數組,所以返回 3 。
    示例 2:

輸入:nums = [3,1,5,11,13]
輸出:1
解釋:最長的優雅子數組長度為 1 ,任何長度為 1 的子數組都滿足題目條件。

提示:

1 <= nums.length <= 105^55
1 <= nums[i] <= 109^99

滑動窗口,保證窗口內是優雅子數組即可:

class Solution {
public:int longestNiceSubarray(vector<int>& nums) {int left = 0;// 窗口內所有元素的或int cur = 0;int ans = 0;for (int i = 0; i < nums.size(); ++i) {// 如果新加入窗口的元素和當前窗口內的任意元素有相同的位為1// 說明當前元素加入窗口后,與窗口內某個元素的and就會非0,就不是優雅子數組了while (cur & nums[i]) {// 去掉窗口左邊的元素,此處也可改成:// cur ^= nums[left];cur &= ~nums[left];++left;}cur |= nums[i];ans = max(ans, i - left + 1);}return ans;}
};

如果nums的長度為n,則此算法時間復雜度為O(n),空間復雜度為O(1)。

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

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

相關文章

中華心法問答系統的解讀(1)

中華心法問答系統一、研究背景1. 研究意義2. 研究目的3. 信息檢索技術二、主要研究內容三、相關技術介紹1. Flask框架技術2. BERT模型&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;BERT解決的問題&#xff08;3&#xff09;BERT的核心結構a. 模型結構b. 預訓練任…

Java 大視界 -- Java 大數據在智能安防視頻監控系統中的視頻摘要快速生成與檢索優化(345)

Java 大視界 -- Java 大數據在智能安防視頻監控系統中的視頻摘要快速生成與檢索優化&#xff08;345&#xff09;引言&#xff1a;正文&#xff1a;一、Java 構建的全場景視頻處理系統&#xff08;含校園 / 工廠 / 礦區適配&#xff09;1.1 校園宿舍區夜間檢索方案&#xff08;…

信號量機制,互斥的避免自旋鎖的實現方法(操作系統)

這次的比喻場景要升級了&#xff0c;因為它既能解決互斥問題&#xff0c;也能解決同步問題。我們用一個更綜合的場景&#xff1a;一個擁有多輛共享單車的站點。共享單車 (資源)&#xff1a;站點里有多輛共享單車&#xff0c;數量是有限的。你 (進程)&#xff1a;想借一輛車去辦…

零基礎 “入坑” Java--- 十、繼承

文章目錄一、何為繼承二、繼承語法三、父類成員訪問1.成員變量2.成員方法四、super關鍵字五、子類構造方法六、super和this辨析七、再談初始化八、protected關鍵字九、繼承方式十、final關鍵字十一、繼承與組合根據我們學過的類的知識&#xff0c;我們來定義兩個類&#xff1a;…

JS進階-day1 作用域解構箭頭函數

作用域全局作用域——>盡量少使用&#xff0c;避免變量污染局部作用域——>函數作用域、塊級作用域作用域鏈——>底層變量查找機制&#xff08;先在當前函數作用域查找&#xff0c;如果找不到&#xff0c;就沿著作用域鏈向上級作用域查找&#xff0c;直到全局作用域&a…

Arduino 無線通信實戰:使用 RadioHead實現 315MHz 433M模塊數據傳輸

本文將介紹如何使用 Arduino 和 RadioHead 庫實現 315MHz&#xff08;或 433MHz&#xff09;ASK 無線通信。通過兩個 Arduino 控制板&#xff0c;一個作為發射端&#xff0c;一個作為接收端&#xff0c;實現“按鍵控制 → 無線發送 → LED 控制”的基礎通信功能&#xff0c;非常…

012_PDF處理與文檔分析

PDF處理與文檔分析 目錄 PDF支持概述支持的功能文檔限制上傳方式分析能力應用場景最佳實踐 PDF支持概述 核心能力 Claude現在可以直接處理PDF文檔&#xff0c;提供全面的文檔分析能力。這項功能支持&#xff1a; 文本內容分析&#xff1a;提取和理解PDF中的文本圖像識別&…

系規備考論文:論IT服務知識管理

論IT服務知識管理 摘要 2022年7月,我公司中標某市化工廠網絡視頻監控管理系統綜合平臺運維服務項目,并任命我為系統規劃與管理師。該項目組織結構為項目型,合同金額為115.5萬元(含稅),工期為1年。本運維服務項目的主要工作包括系統軟件和網絡設備的日常監控與維護,定期…

2025.7.12總結

最近又兩三天沒寫總結了&#xff0c;如今必須要寫一稿&#xff0c;畢竟事關賺錢認知的一次顛覆。在我原有的認知里&#xff0c;賺錢&#xff0c;就是通過出賣自己的勞動時間&#xff0c;精力&#xff0c;給他人提供價值輸出。但是&#xff0c;賺錢&#xff0c;只能通過出賣體力…

把 DNA 當 PCIe:一條 365 nt 鏈實現 64 Gbps 片上光互連——基于鏈式 F?rster 共振的分子級波分復用鏈路

作者 | Blossom.118 2025-07-13 關鍵詞&#xff1a;DNA 光子學、FRET 波分復用、分子 PCIe、零能耗光鏈路、CMOS 兼容、開源版圖 ---- 1. 為什么用 DNA 做光互連&#xff1f; ? 帶寬密度&#xff1a;硅光 1 m 波導最高 0.4 Tbps/mm&#xff1b;一條 2 nm 直徑的 DNA 雙鏈&am…

[論文閱讀]Text Compression for Efficient Language Generation

Text Compression for Efficient Language Generation [2503.11426] Text Compression for Efficient Language Generation NAACL 2025 提出了“Generative Pretrained Thoughtformer”&#xff08;GPTHF&#xff09;&#xff0c;這是一個分層 transformer 語言模型&#xf…

SwiftUI 7 新 WebView:金蛇出洞,網頁江湖換新天

概述 崇禎年間&#xff0c;華山派武學雖盛&#xff0c;卻在應對江湖新局時漸顯頹勢&#xff1b;如今 SwiftUI 江湖亦是如此 ——WWDC 25 之前&#xff0c;若要在 SwiftUI 中顯示網頁&#xff0c;開發者恰似袁承志初闖江湖&#xff0c;縱有一身本領&#xff0c;卻苦無稱手兵刃。…

LeetCode|Day9|976. 三角形的最大周長|Python刷題筆記

LeetCode&#xff5c;Day9&#xff5c;976. 三角形的最大周長&#xff5c;Python刷題筆記 &#x1f5d3;? 本文屬于【LeetCode 簡單題百日計劃】系列 &#x1f449; 點擊查看系列總目錄 >> &#x1f4cc; 題目簡介 題號&#xff1a;976. 三角形的最大周長 難度&#x…

華擎B150M Pro4S魔改bios上8代U

100、200系主板魔改bios在DIY領域當屬于歷史性事件&#xff0c;2018年左右興起。雖然現在已經是2025年&#xff0c;魔改bios已經沒有多大意義&#xff0c;但是跟著前輩的教程魔改一次&#xff0c;可以重溫下當年DIY玩家的激情。 魔改教程在SMXDIY網站&#xff0c;寫的非常詳細&…

音視頻學習(三十七):pts和dts

概念 PTS&#xff08;Presentation Time Stamp&#xff09;顯示時間戳 表示&#xff1a;該幀應該在什么時間被顯示/播放。主要用于&#xff1a;同步音頻與視頻&#xff0c;控制播放節奏。舉例&#xff1a;視頻幀 A 的 PTS 是 300ms&#xff0c;表示應在視頻播放第 300 毫秒時顯…

關于數據庫的慢查詢

1.數據庫的慢查詢慢查詢是指執行時間超過預設閾值的數據庫查詢操作。它是數據庫性能優化的一個重要指標和切入點。慢查詢的主要特點執行時間長&#xff1a;超過了數據庫系統設定的慢查詢閾值&#xff08;如MySQL默認是10秒&#xff09;資源消耗大&#xff1a;可能占用大量CPU、…

【Rust日報】 Python 核心開發者對 Rust 的期望

半月刊&#xff1a;The Embedded Rustacean Issue #49亮點&#xff1a;&#x1f4e2; 樂鑫 DevCon 2025 演講嘉賓征集&#x1f9ba; CISA 和 NSA 參與內存安全對話&#x1f510; 微軟宣布 RIFT &#xff08;Rust 惡意軟件分析工具&#xff09;&#x1f4b0;? Nordic 收購 Memf…

vue是什么

Vue簡介Vue&#xff08;Vue.js&#xff09;是一個用于構建用戶界面的漸進式JavaScript框架。它專注于視圖層&#xff0c;易于集成到現有項目中&#xff0c;也可用于開發復雜的單頁面應用&#xff08;SPA&#xff09;。Vue的核心特點是輕量、靈活和高效&#xff0c;通過數據綁定…

10分鐘掌握 Nginx 配置文件結構

在實際部署前端或后端項目時&#xff0c;Nginx 配置文件&#xff08;nginx.conf&#xff09; 是我們無法繞開的第一道門檻。 本文將帶你用10分鐘掌握 nginx.conf 的核心結構與常見配置方法&#xff0c;并提供一篇完整的實戰文檔鏈接&#xff0c;適合初學者快速掌握。 &#x1…

典型的前后端交互數據示例

提供幾種典型的前后端交互數據示例&#xff1a; 前端如何組織數據&#xff0c;以及后端如何接收數據。 文章目錄1. POST請求后端實體類接收前端js后端接收結果查看2. GET請求后端實體類接收前端js后端接收結果查看3. GET請求后端基本類型接收前端js后端接收結果查看1. POST請求…