每日一題——376. 擺動序列

題目鏈接:376. 擺動序列 - 力扣(LeetCode)

代碼:

class Solution {
public:int wiggleMaxLength(vector<int>& nums) {int curdiff = 0;int prediff = 0;int result = 1; for(int i = 0;i < nums.size()-1;i++){curdiff = nums[i+1] - nums[i];if((prediff <= 0 && curdiff > 0) || (prediff >= 0 && curdiff < 0)){result++;prediff = curdiff;}}return result;}
};

將整個序列抽象到坐標軸上,這里指的擺動也就是坐標軸上的極值

統計到所有極值的個數,則為答案的擺動數。

符合極值的條件:prediff和curdiff相反

但有細節處理需要注意:

-有平坡的情況:只記錄一個,靠右或者靠左,引入了=的情況(靠左:curdiff == 0,靠右:prediff == 0)

-只有兩個數:因為這里的判斷需要三個數才能完成,i,i-1,i+1,默認prediff=0(模擬第一個數a前還有一個數a,對于后面判斷,兩個數就會判斷成兩個極值)

-單調區間有平坡:在只有擺動變化的時候更新prediff,不然prediff =0,curdiff>0的時候記錄一次,中間平坡,prediff變化,prediff = 0,curdiff>0的時候記錄一次,最后prediff>0,curdiff<0的時候記錄一次,中間就重復了,但中間的位置實際是prediff>0,curdiff>0,由于相同數值的情況,prediff更新為0,導致這種情況也被算成了一個極值,是錯誤的,所以只在有擺動的地方,在記錄pre

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

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

相關文章

DeepSeek與ChatGPT:AI語言模型的全面技術解析與對比

DeepSeek與ChatGPT:AI語言模型的全面技術解析與對比 一、誕生背景與技術演進路徑 1.1 OpenAI與ChatGPT的生態布局 ChatGPT的研發主體OpenAI成立于2015年,早期定位為非營利性研究機構,核心目標為實現通用人工智能(AGI)。其技術路徑以Transformer架構為基礎,通過堆疊參數規…

[原創](Modern C++)現代C++的關鍵性概念: 學習新算法: std::unique_copy

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 開發工具: Visual Studio、Delphi、XCode、Eclipse…

前端(vue)學習筆記(CLASS 1):vue框架入門

1、vue上手 概念&#xff1a;vue是一個用于構建用戶界面的漸進式框架 vue的兩種使用方式&#xff1a; 1、vue的核心包開發 場景&#xff1a;局部模塊改造 2、vue核心包&vue插件工程化開發 場景&#xff1a;整站開發 1、創建實例 核心步驟 1、準備容器&#xff08;…

synchronized鎖字符串

示例一 在沒有使用synchronized鎖的情況下: import java.util.HashMap; import java.util.Map;public class NonSynchronizedSchoolExample {private static final Map<String, Integer> schoolCountMap new HashMap<>(); // 存儲每個學校的交卷數量public sta…

1.14作業

1 if($x[scheme]http||$x[scheme]https){ $ip gethostbyname($x[host]); echo </br>.$ip.</br>; if(!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {die(ip!); }echo file_get_contents($_POST[url]);可以DNS重…

Hopper架構 GEMM教程

一 使用 1.1 makefile compile:nvcc -arch=sm_90a -lcuda -lcublas -std=c++17 matmul_h100_optimal.cu -o testrun:./test加入-lcublas,不然會有函數無法被識別 二 代碼分析 2.1 kernel外參數分析 2.1.1 基本參數 constexpr int BM = 64*2;constexpr int BN = 256;cons…

DeepSeek模型快速部署教程-搭建自己的DeepSeek

前言&#xff1a;在人工智能技術飛速發展的今天&#xff0c;深度學習模型已成為推動各行各業智能化轉型的核心驅動力。DeepSeek 作為一款領先的 AI 模型&#xff0c;憑借其高效的性能和靈活的部署方式&#xff0c;受到了廣泛關注。無論是自然語言處理、圖像識別&#xff0c;還是…

數據倉庫、數據湖和數據湖倉

數據倉庫、數據湖和數據湖倉是三種常見的數據存儲和管理技術&#xff0c;各自有不同的特點和適用場景。以下是它們的詳細比較&#xff1a; 1. 數據倉庫&#xff08;Data Warehouse&#xff09; 定義&#xff1a;用于存儲結構化數據&#xff0c;經過清洗、轉換和建模&#xff…

學習aigc

DALLE2 論文 Hierarchical Text-Conditional Image Generation with CLIP Latents [2204.06125] Hierarchical Text-Conditional Image Generation with CLIP LatentsAbstract page for arXiv paper 2204.06125: Hierarchical Text-Conditional Image Generation with CLIP L…

POI pptx轉圖片

前言 ppt頁面預覽一直是個問題&#xff0c;office本身雖然有預覽功能但是收費&#xff0c;一些開源的項目的預覽又不太好用&#xff0c;例如開源的&#xff1a;kkfileview pptx轉圖片 1. 引入pom依賴 我這個項目比較老&#xff0c;使用版本較舊 <dependency><gro…

零基礎學python--------第三節:Python的流程控制語法

Python&#xff0c;浮點數 11.345(單&#xff1a;4個字節&#xff0c; 雙&#xff1a;8個字節) 。 十進制的數字25 ---> 11001 講一個小數轉化為二進制&#xff1a; 不斷的乘以2 。取整數部分。 十進制的0.625 ----> 二進制&#xff1a; 0&#xff0c; 101 。 0.3 ---…

2025.2.21 Restless And Brave

今天是2025年的2月21日&#xff0c;星期五。 距離考研出分還有兩天半的時間。 這種時候&#xff0c;我想考的特別好的同學或者考的特別差的同學都不會太焦慮&#xff0c;只有我這種考的不上不下的人才會焦慮。 我曾不止一次的想過如何面對失敗&#xff0c;但每每想到這個問題…

骶骨神經

骶骨腫瘤手術后遺癥是什么_39健康網_癌癥 [健康之路]匠心仁術&#xff08;七&#xff09; 勇闖禁區 骶骨腫瘤切除術

DeepSeek智能測試知識庫助手PRO版:多格式支持+性能優化

前言 測試工程師在管理測試資產時,需要面對多種文檔格式、大量文件分類及知識庫的構建任務。為了解決這些問題,我們升級了 DeepSeek智能測試知識庫助手,不僅支持更多文檔格式,還加入了 多線程并發處理 和 可擴展格式支持,大幅提升處理性能和靈活性。 主要功能亮點: 多格…

Ubuntu編譯ZLMediaKit

下載 git clone https://gitee.com/xia-chu/ZLMediaKit cd ZLMediaKit git submodule update --init安裝工具 sudo apt install -y build-essential sudo apt install -y gcc g sudo apt install -y cmakesudo apt install -y build-essential cmake git libssl-dev libsdl1.…

如何做接口自動化測試?

一、前言 接口通俗來講就是前端和后段之間傳輸數據的橋梁&#xff0c;注意&#xff1a;不是每一個項目都有接口&#xff0c;一些大型項目是前后端分離的&#xff0c;那么他們怎么實現數據的傳遞和返回呢&#xff1f;在通俗來講就是前端和后段都有一個模擬參數數據 二、接口自…

數據分析和數據挖掘的工作內容

基本的數據分析工作通常包含以下幾個方面的內容&#xff1a; 確定目標&#xff08;輸入&#xff09;&#xff1a;理解業務&#xff0c;確定指標口徑。獲取數據&#xff1a;數據倉庫&#xff08;SQL提數&#xff09;、電子表格、三方接口、網絡爬蟲、開放數據集等。清洗數據&am…

基于Python+Vue開發的反詐視頻宣傳管理系統源代碼

項目簡介 該項目是基于PythonVue開發的反詐視頻宣傳管理系統&#xff08;前后端分離&#xff09;&#xff0c;這是一項為大學生課程設計作業而開發的項目。該系統旨在幫助大學生學習并掌握Python編程技能&#xff0c;同時鍛煉他們的項目設計與開發能力。通過學習基于Python的反…

StarRocks FE leader節點CPU使用率周期性的忽高忽低問題分析

背景 本文基于 StarRocks 3.3.5 最近在做一些 StarRocks 相關的指標監控的時候&#xff0c;看到了FE master的CPU使用率相對其他FE節點是比較高的&#xff0c;且 呈現周期性的變化&#xff08;周期為8分鐘&#xff09;&#xff0c; 于此同時FE master節點的GC頻率相對于其他節…

第37章 合作之路與占坑成功

在春寒料峭的時節&#xff0c;那絲絲寒意宛如一縷縷若有若無的輕煙&#xff0c;在空氣中悄然彌漫。銳創所的會議室&#xff0c;宛如一個被歲月塵封的神秘空間&#xff0c;暖黃色的燈光暈染開來&#xff0c;像是為整個房間披上了一層朦朧的薄紗&#xff0c;陳舊卻又帶著幾分溫馨…