LeetCode每日一題4.27

3392. 統計符合條件長度為 3 的子數組數目

問題

在這里插入圖片描述

問題分析

統計符合條件的長度為 3 的子數組數目。具體條件是:子數組的第一個數和第三個數的和恰好為第二個數的一半。

思路

遍歷數組:由于子數組長度固定為 3,我們可以通過遍歷數組來檢查每個長度為 3 的子數組是否滿足條件。
檢查條件:對于每個子數組 [nums[i], nums[i+1], nums[i+2]],檢查是否滿足 nums[i] + nums[i+2] == nums[i+1] / 2。
計數:如果滿足條件,則計數器加 1。

代碼

def count_good_subarrays(nums):count = 0n = len(nums)# 遍歷數組,檢查每個長度為 3 的子數組for i in range(n - 2):# 檢查條件:第一個數和第三個數的和恰好為第二個數的一半if nums[i] + nums[i + 2] == nums[i + 1] / 2:count += 1return count

復雜度分析

時間復雜度:算法的時間復雜度為 (O(n)),其中 (n) 是數組 nums 的長度。這是因為在最壞情況下,算法需要遍歷數組一次,并對每個長度為 3 的子數組進行常數時間的檢查。
空間復雜度:算法的空間復雜度為 (O(1)),因為只使用了常數級的額外空間。

學習

定義 countSubarrays 方法:
def countSubarrays(self, nums: List[int]) -> int::定義一個方法 countSubarrays,接受一個整數列表 nums 作為參數,并返回一個整數。
ans = 0:初始化計數器 ans 為 0,用于記錄滿足條件的子數組數量。
n = len(nums):獲取數組 nums 的長度。
遍歷數組:
for i in range(n - 2)::遍歷數組,確保每次檢查的子數組長度為 3。
條件檢查:
if nums[i] + nums[i + 2] == nums[i + 1] / 2::檢查當前子數組是否滿足題目要求,即第一個數和第三個數的和恰好為第二個數的一半。
計數:
ans += 1:如果滿足條件,計數器 ans 加 1。
返回結果:
return ans:方法最后返回計數器 ans 的值。

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

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

相關文章

Linux日志處理命令多管道實戰應用

全文目錄 1 日志處理1.1 實時日志分析1.1.1 nginx日志配置1.1.2 nginx日志示例1.1.3 日志分析示例 1.2 多文件合并分析1.3 時間范圍日志提取 2 問題追查2.1 進程級問題定位2.2 網絡連接排查2.3 硬件故障追蹤 3 數據統計3.1 磁盤空間預警3.2 進程資源消耗排名3.3 HTTP狀態碼統計…

0803分頁_加載更多-網絡ajax請求2-react-仿低代碼平臺項目

文章目錄 1 分頁1.1 url與分頁參數1.2 分頁組件與url1.3 列表頁引用分頁組件 2 加載更多2.1 狀態2.2 觸發時機2.3 加載數據2.4優化 結語 1 分頁 1.1 url與分頁參數 查詢問卷列表接口,添加分頁參數: page:當前頁碼(第幾頁&#…

【技術追蹤】基于擴散模型的腦圖像反事實生成與異常檢測(TMI-2024)

一種新穎的擴散模型雙重采樣策略,DDPM DDIM ~ 論文:Diffusion Models for Counterfactual Generation and Anomaly Detection in Brain Images 0、摘要 病理區域的分割掩模在許多醫學應用中很有用,例如腦腫瘤和中風管理。此外,疾…

第十六屆藍橋杯大賽軟件賽省賽第二場 C/C++ 大學 A 組

比賽還沒有開始,竟然忘記寫using namespace std; //debug半天沒看明白 (平時cv多了 然后就是忘記那個編譯參數,(好慘的開局 編譯參數-stdc11 以下都是賽時所寫代碼,賽時無聊時把思路都打上去了(除了倒數第二題&#…

CentOS 7上Memcached的安裝、配置及高可用架構搭建

Memcached是一款高性能的分布式內存緩存系統,常用于加速動態Web應用的響應。本文將在CentOS 7上詳細介紹Memcached的安裝、配置,以及如何實現Memcached的高可用架構。 (1)、搭建memcached 主主復制架構 Memcached 的復制功能支持…

告別進度失控:用燃盡圖補上甘特圖的監控盲區

在職場中,項目經理最頭疼的莫過于“計劃趕不上變化”。明明用甘特圖排好了時間表,任務卻總像脫韁野馬——要么進度滯后,要么資源分配失衡。甘特圖雖能直觀展示任務時間軸,但面對突發風險或團隊效率波動時,它更像一張“…

爬蟲-oiwiki

我們將BASE_URL 設置為 "https://oi-wiki.org/" 后腳本就會自動開始抓取該url及其子頁面的所有內容,并將統一子頁面的放在一個文件夾中 import requests from bs4 import BeautifulSoup from urllib.parse import urljoin, urlparse import os import pd…

業務中臺與數據中臺:企業數字化轉型的核心引擎

前言:在當今數字化浪潮下,企業為了提升運營效率、加速創新步伐并更好地適應市場變化,業務中臺與數據中臺應運而生,成為企業架構中的關鍵組成部分。本文將深入探討業務中臺和數據中臺的簡介、發展史、技術流環節以及在實際生產中的…

django admin 去掉新增 刪除

在Django Admin中,你可以通過自定義Admin類來自定義哪些按鈕顯示,哪些不顯示。如果你想隱藏“新增”和“刪除”按鈕,可以通過重寫change_list_template或使用ModelAdmin的has_add_permission和has_delete_permission屬性來實現。 方法1&…

基于云原生架構的后端微服務治理實戰指南

一、引言:為什么在云原生時代更需要微服務治理? 在單體應用時代,開發和部署雖然簡單,但隨著系統規模的擴大,單體架構的維護成本急劇上升,部署頻率受限,模塊之間相互影響,最終導致系…

MIT6.S081 - Lab10 mmap(文件內存映射)

本篇是 MIT6.S081 2020 操作系統課程 Lab10 的實驗筆記,目標只有一個:實現文件映射到內存的功能,也就是 mmap。 作為一名 Android 開發者,我可太熟悉 mmap 這個詞兒了。Android 的 跨進程通信 Binder 驅動、圖形內存分配和管理、…

基于BenchmarkSQL的OceanBase數據庫tpcc性能測試

基于BenchmarkSQL的OceanBase數據庫tpcc性能測試 安裝BenchmarkSQL及其依賴安裝軟件依賴編譯BenchmarkSQLBenchmarkSQL props文件配置數據庫和測試表配置BenchmarkSQL壓測裝載測試數據TPC-C壓測(固定事務數量)TPC-C壓測(固定時長)生成測試報告重復測試流程梳理安裝Benchmar…

WinForm真入門(17)——NumericUpDown控件詳解

一、基本概念? NumericUpDown 是 Windows 窗體中用于數值輸入的控件,由文本框和上下調節按鈕組成。用戶可通過以下方式調整數值: 點擊調節按鈕增減數值鍵盤直接輸入使用方向鍵調整 適用于需要限制數值范圍或精確控制的場景(如年齡、參數配…

汽車自動駕駛介紹

0 Preface/Foreword 1 介紹 1.1 FSD FSD: Full Self-Driving,完全自動駕駛 (Tesla) 1.2 自動駕駛級別 L0 - L2:輔助駕駛L3:有條件自動駕駛L4/5 :高度/完全自動駕駛

AiCube 試用 - ADC 水位監測系統

AiCube 試用 - ADC 水位監測系統 水位檢測在水資源管理、城市防洪、農業灌溉、家用電器和工業生產等多領域發揮積極建設作用。利用水位傳感器,可以實現水資源的智能管理,提高生產效率。 本文介紹了擎天柱開發板利用 AiCube 工具快速創建 I/O 電壓讀取&…

秒殺壓測計劃 + Kafka 分區設計參考

文章目錄 前言🚀 秒殺壓測計劃(TPS預估 測試流程)1. 目標設定2. 壓測工具推薦3. 壓測命令示例(ab版)4. 測試關注指標 📦 Kafka Topic 分區設計參考表1. 單 Topic 設計2. 分區路由規則設計(Part…

memcpy 使用指南 (C語言)

memcpy 是 C 語言標準庫中的一個重要函數&#xff0c;用于在內存區域之間復制數據。它是 <string.h> 頭文件中定義的高效內存操作函數之一。 函數原型 void *memcpy(void *dest, const void *src, size_t n); 參數說明 dest: 目標內存地址&#xff0c;數據將被復制到這…

跨境電商貨物體積與泡重計算器:高效便捷的物流計算工具

跨境電商貨物體積與泡重計算器&#xff1a;高效便捷的物流計算工具 工具簡介 貨物體積與泡重計算器是一款免費的在線工具&#xff0c;專門為物流從業者、跨境電商賣家和需要計算貨物運輸體積重量的用戶設計。這款工具可以幫助您快速計算貨物的體積和對應的空運、快遞泡重&…

如何避免爬蟲因Cookie過期導致登錄失效

1. Cookie的作用及其過期機制 1.1 什么是Cookie&#xff1f; Cookie是服務器發送到用戶瀏覽器并保存在本地的一小段數據&#xff0c;用于維持用戶會話狀態。爬蟲在模擬登錄后&#xff0c;通常需要攜帶Cookie訪問后續頁面。 1.2 Cookie為什么會過期&#xff1f; 會話Cookie&…

matlab simulink中理想變壓激磁電流容易有直流偏置的原因分析。

simulink把線性變壓器模塊拉出來&#xff0c;設置沒有繞線電阻的變壓器&#xff0c;激磁電感和Rm都有&#xff0c;然后給一個50%占空比的方波&#xff0c;幅值正負10V&#xff0c;線路中設置一個電阻&#xff0c;模擬導線阻抗。通過示波器觀察激磁電流&#xff0c;發現電阻越小…