代碼隨想錄-DAY②-數組——leetcode 977 | 209

977

思路

使用兩個指針分別指向位置 0 和 n?1,每次比較兩個指針對應的數,選擇較大的那個逆序放入答案并移動指針。這種方法無需處理某一指針移動至邊界的情況。

時間復雜度:O(n)
空間復雜度:O(1)

代碼
class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int left = 0;int right = nums.size()-1;int last = right;vector<int> ans(nums.size());while(left<=right){if(nums[left]*nums[left]>nums[right]*nums[right]){ans[last--]=nums[left]*nums[left++];}else{ans[last--]=nums[right]*nums[right--];}}return ans;}
};

209

思路

所謂滑動窗口,就是不斷的調節子序列的起始位置和終止位置,從而得出我們要想的結果。
窗口的起始位置如何移動:如果當前窗口的值大于等于s了,窗口就要向前移動了(也就是該縮小了)。
窗口的結束位置如何移動:窗口的結束位置就是遍歷數組的指針,也就是for循環里的索引。
滑動窗口的精妙之處在于根據當前子序列和大小的情況,不斷調節子序列的起始位置。從而將O(n^2)暴力解法降為O(n)。

時間復雜度:O(n)
空間復雜度:O(1)

代碼
class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int sum = 0, sublen = 0, i=0;int result = INT32_MAX;for (int j=0; j<nums.size(); j++){sum+=nums[j];while(sum>=target){sublen = j-i+1;result = sublen<result?sublen:result;sum -= nums[i++];}}return result == INT32_MAX?0:result;}
};

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

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

相關文章

SpringCloud Feign 報錯 Request method ‘POST‘ not supported 的解決辦法

通過SpringCloud Feign 調用其他項目或微服務的接口方法時報Request method ‘POST‘ not supported 的錯誤&#xff1a; 問題出現原因&#xff1a; 可能的原因是 Feign 默認使用的請求方法為 POST&#xff0c;而不是 GET。另外也有可能是由于消費方法和接口方法使用的注解不…

拼多多店鋪電話采集軟件使用步驟解析

要快速訪問拼多多店鋪鏈接&#xff0c;可以使用一個提供快速訪問功能的拼多多店鋪鏈接程序。以下是使用步驟的簡要解析&#xff1a; 下載和安裝程序&#xff1a;首先&#xff0c;在可靠的下載平臺或官方網站上下載并安裝拼多多店鋪鏈接程序。確保選擇一個可信賴的程序&#xff…

Dialog設置背景透明和尺寸

class TestDialog(context: Context?,var clickListener: OnClickCallBack) : Dialog(context!!) {lateinit var binding:TestDialogBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)binding TestDialogBinding.inflate(Lay…

軟件測試面試題:Redis的五種數據結構,以及使用的場景是什么?

字符串&#xff08;Strings&#xff09;&#xff1a;簡單直接&#xff0c;就像記事本一樣&#xff0c;用來存儲和快速訪問簡單的數據&#xff0c;比如緩存網頁或者保存用戶會話信息。 列表&#xff08;Lists&#xff09;&#xff1a;有序的數據集合&#xff0c;適合用來存儲按…

Ollama基于Casaos一鍵部署,并接入Dify知識庫,無需再為API付費

什么是Ollama Ollama是一個開源的大型語言模型服務工具&#xff0c;它幫助用戶快速的運行大模型。浪浪云將它做為一鍵部署通過簡單的安裝&#xff0c;用戶可以執行一條命令就可以運行開源大型語言模型&#xff0c;如 llama3 ,通以千問。極大地簡化了部署和管理LLM的過程&#x…

modelscope可控細節的長文檔摘要

modelscope可控細節的長文檔摘要嘗試 本文的想法來自今年OpenAI cookbook的一篇實踐&#xff1a;summarizing_long_documents&#xff0c;目標是演示如何以可控的細節程度總結大型文檔。 如果我們想讓大語言模型總結一份長文檔&#xff08;例如 10k 或更多tokens&#xff09;&…

6個步驟實現Postman接口壓力測試(建議收藏)

&#x1f345; 視頻學習&#xff1a;文末有免費的配套視頻可觀看 &#x1f345; 點擊文末小卡片 &#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 這里講是postman做接口并發測試&#xff0c;基礎用法不做贅述 1、第一步接口可以通的情況下點擊…

Proteus-51單片機-DS18B20多點測溫

DS18B20多點測溫 一、Proteus仿真演示 每個DS18B20都有一個唯一的64位序列號,這使得在同一總線上可以掛載多個傳感器,無需額外的地址分配。主機(通常為單片機)通過特定的時序控制,可以依次讀取各個DS18B20的溫度數據,實現分布式測溫。 二、代碼特點 三、開發環境介紹 本…

基于Arduino平臺開源小車的初步使用體驗

創作原因&#xff1a;偶然有機會接觸到基于Arduino平臺的開源智能小車&#xff0c;初步使用后與大家分享。因使用時間不常&#xff0c;可以純當個樂子看看&#xff0c;感謝大家的閱讀&#xff01; 圖&#xff1a;一款基于Arduino平臺的開源小車 一、開發環境 Misly&#xff1…

el表達式筆記及ognl

文章目錄 spel底層spel核心代碼TokenKind源碼 spel本地調試 spel示例spel list例子spel 對象例子spel list例子SimpleEvaluationContext 類找不到##### spel 如何表示包含(也就是like)? spel官網文檔 ognl表達式ognl和表達式語言的區別 這里重點說下SPEL(Spring Expression La…

shark云原生-日志體系-filebeat高級配置(適用于生產)

文章目錄 1. filebeat.inputs 靜態日志收集器2. filebeat.autodiscover 自動發現2.1. autodiscover 和 inputs2.2. 如何配置1.2.1. Providers 提供者1.2.2. Providers kubernetes templates1.2.3. 基于提示&#xff08;hints&#xff09;的自動發現支持的 **hints**的完整列表&…

windows搭建mqtt服務器,并配置DTU收集傳感器數據

1.下載并安裝emqx服務器 參考&#xff1a;Windows系統下本地MQTT服務器搭建&#xff08;保姆級教程&#xff09;_mqtt windows-CSDN博客 這里我下載的是emqx-5.3.0-windows-amd64.zip版本 下載好之后&#xff0c;放到服務器的路徑&#xff0c;我這里放的地方是&#xff1a;C…

腦啟發設計:人工智能的進化之路

編者按&#xff1a;你可以用左手&#xff08;不常用的那只手&#xff09;的小指與食指拿起一件物品么&#xff1f; 試完你是不是發現自己竟然可以毫不費力地用自己不常用的手中&#xff0c;兩根使用頻率相對較低的手指&#xff0c;做一個不常做的動作。這就是人類大腦不可思議…

如何聲明一個類?類如何繼承?

要聲明一個類&#xff0c;需要使用關鍵字class&#xff0c;后面跟著類名。類名通常以大寫字母開頭。類的聲明通常包括類的成員變量和成員函數。 類可以通過繼承來擴展現有的類。要讓一個類繼承另一個類&#xff0c;需要使用冒號&#xff08;:&#xff09;并在后面跟著父類的名…

等保2.0中,云計算平臺如何做到數據的分類和加密?

數據分類 在等保2.0中&#xff0c;數據分類是確保數據安全的首要步驟。云計算平臺需要根據數據的敏感性和重要性進行分類&#xff0c;以便采取相應的保護措施。數據分類通常包括以下幾個步驟&#xff1a; 數據識別&#xff1a;識別出哪些數據是需要保護的&#xff0c;這可能包…

py黑帽子學習筆記_burp

配置burp kali虛機默認裝好了社區版burp和java&#xff0c;其他os需要手動裝 burp是用java&#xff0c;還得下載一個jython包&#xff0c;供burp用 配apt國內源&#xff0c;然后apt install jython --download-only&#xff0c;會只下載包而不安裝&#xff0c;下載的目錄搜一…

電子數據取證如何規范高效

文章關鍵詞&#xff1a;電子數據取證、現場勘驗、手機取證 隨著信息技術的迅猛發展和廣泛應用&#xff0c;電子數據作為一種獨立的法定證據形式&#xff0c;在執紀執法實踐中的作用愈加凸顯。規范、科學、高效的電子數據取證工作&#xff0c;不僅是保證電子數據符合法定要求、…

FreeRTOS LVGL頁面切換為LCD純手動繪制遇到的問題

有時候我們需要將FreeRTOS和LVGL頁面切換為LCD純手動繪制,提供更高的靈活性和可定制性。 自定義界面設計:使用LCD純手動繪制界面,可以完全自定義界面的外觀和行為。可以根據特定的需求和設計概念創建獨特的用戶界面,而不受LVGL框架的限制。 資源優化:LVGL是一個功能強大的…

9.x86游戲實戰-匯編指令mov

免責聲明&#xff1a;內容僅供學習參考&#xff0c;請合法利用知識&#xff0c;禁止進行違法犯罪活動&#xff01; 本次游戲沒法給 內容參考于&#xff1a;微塵網絡安全 工具下載&#xff1a; 鏈接&#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

java實現多級菜單展示(遞歸)

實體類如下&#xff1a; package com.ssdl.baize.po;import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagge…