LeetCode 2960.統計已測試設備:看測試了多少次

【LetMeFly】2960.統計已測試設備:看測試了多少次

力扣題目鏈接:https://leetcode.cn/problems/count-tested-devices-after-test-operations/

給你一個長度為 n 、下標從 0 開始的整數數組 batteryPercentages ,表示 n 個設備的電池百分比。

你的任務是按照順序測試每個設備 i,執行以下測試操作:

  • 如果 batteryPercentages[i] 大于 0
    <ul><li><strong>增加</strong> 已測試設備的計數。</li><li>將下標在 <code>[i + 1, n - 1]</code> 的所有設備的電池百分比減少 <code>1</code>,確保它們的電池百分比<strong> 不會低于</strong> <code>0</code> ,即 <code>batteryPercentages[j] = max(0, batteryPercentages[j] - 1)</code>。</li><li>移動到下一個設備。</li>
    </ul>
    </li>
    <li>否則,移動到下一個設備而不執行任何測試。</li>
    

返回一個整數,表示按順序執行測試操作后 已測試設備 的數量。

?

示例 1:

輸入:batteryPercentages = [1,1,2,1,3]
輸出:3
解釋:按順序從設備 0 開始執行測試操作:
在設備 0 上,batteryPercentages[0] > 0 ,現在有 1 個已測試設備,batteryPercentages 變為 [1,0,1,0,2] 。
在設備 1 上,batteryPercentages[1] == 0 ,移動到下一個設備而不進行測試。
在設備 2 上,batteryPercentages[2] > 0 ,現在有 2 個已測試設備,batteryPercentages 變為 [1,0,1,0,1] 。
在設備 3 上,batteryPercentages[3] == 0 ,移動到下一個設備而不進行測試。
在設備 4 上,batteryPercentages[4] > 0 ,現在有 3 個已測試設備,batteryPercentages 保持不變。
因此,答案是 3 。

示例 2:

輸入:batteryPercentages = [0,1,2]
輸出:2
解釋:按順序從設備 0 開始執行測試操作:
在設備 0 上,batteryPercentages[0] == 0 ,移動到下一個設備而不進行測試。
在設備 1 上,batteryPercentages[1] > 0 ,現在有 1 個已測試設備,batteryPercentages 變為 [0,1,1] 。
在設備 2 上,batteryPercentages[2] > 0 ,現在有 2 個已測試設備,batteryPercentages 保持不變。
因此,答案是 2 。

?

提示:

  • 1 <= n == batteryPercentages.length <= 100
  • 0 <= batteryPercentages[i] <= 100

解題方法:模擬

使用一個變量ans來記錄測試的總次數。測試發生一次,后面所有的電池都要掉一格電。但是不用真的模擬讓他們都掉電。

遍歷電池數組,看當前電量是否大于測試次數。若大于則將發生測試,否則什么都不會發生。

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

AC代碼

C++
class Solution {
public:int countTestedDevices(vector<int>& batteryPercentages) {int ans = 0;for (int t : batteryPercentages) {if (t - ans > 0) {ans++;}}return ans;}
};
Python
# from typing import Listclass Solution:def countTestedDevices(self, batteryPercentages: List[int]) -> int:ans = 0for t in batteryPercentages:if t > ans:ans += 1return ans

同步發文于CSDN和我的個人博客,原創不易,轉載經作者同意后請附上原文鏈接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/138672383

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

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

相關文章

【QEMU系統分析之實例篇(十七)】

系列文章目錄 第十七章 QEMU系統仿真的機器創建分析實例 文章目錄 系列文章目錄第十七章 QEMU系統仿真的機器創建分析實例 前言一、QEMU是什么&#xff1f;二、QEMU系統仿真的機器創建分析實例1.系統仿真的命令行參數2.配置加速器configure_accelerators()do_configure_icount…

藍橋杯13屆JAVA A組 國賽

??????? package 藍橋杯國賽; // 貪心選個數最少的進行擺 // 2:1 ,3:1, 4:1,5 : 3,6:3,7:1 // 選 1&#xff0c;7&#xff0c;4&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;9 // 然后都選滿10個 public class 火彩棒數字 {public static void main(String[] a…

【CTFHub】HTTP 請求方式 302跳轉 cookie WP

1.請求方式 打開給出的URL進入一個頁面&#xff0c;提示原方法是GET&#xff0c;用CTFHUB方法就能獲得flag 思路&#xff1a;抓包&#xff0c;將GET方法改成CTFHUB方法進行重新發送請求&#xff0c;查看響應情況 1.打開代理服務器 2.打開BurpSuite 刷新頁面獲得攔截 3.發送…

【Excel VBA】深入理解 VBA 中的 CallByName 函數

動態調用方法與屬性&#xff1a;深入理解 VBA 中的 CallByName 函數 昨天在介紹Choose函數在復雜的VBA應用程序開發中&#xff0c;有時我們需要根據運行時的情況來決定調用哪個對象的哪個方法或屬性。這種靈活性可以通過 CallByName 函數實現。在本篇博客中&#xff0c;田辛老…

網絡Http和Socket通訊(基于面試)

每日一句&#xff1a;想得到世上最好的東西&#xff0c;先得讓世界看到最好的你 目錄 面試問OSI或TCP/IP,怎么回答&#xff1f; 面試問HTTP&#xff1f; 面試問Get類型&#xff0c;Pot類型區別&#xff1f; 面試什么是Socket套接字&#xff1f; 面試問什么是數據粘包&…

qt for android 的架構原理

qt for android實現架構&#xff0c;分享這幾幅很不錯圖。來自于 《Qt 林斌&#xff1a;整合Android IVI平臺打造統一的Qt數字座艙體驗》 1.實現架構圖 2.qt for android能力 3.java 和 qt混合開發 4. AutoMotive

46寸硅片為什么要留平邊(flat)?

知 識星球&#xff08;星球名&#xff1a; 芯片制造與封測社區&#xff0c;星球號&#xff1a; 63559049&#xff09;里的學員問&#xff1a; 2&#xff0c; 4&#xff0c; 6寸硅片都有 平 邊&#xff0c;它們有什么作用 &#xff1f; 硅片的平邊&#xff08;Flat&…

經典權限五張表案例分析

文章目錄 模塊分析模塊分析 描述五張表的關系重要知識講解抽取成一個BaseServletSpringIOC思想(底層)實現代碼IOC概述 SPI機制(為學習框架做思想和技術鋪墊)SPI引入1. 標準/規范2. 具體的實現3. 調用 SPI介紹SPI練習JDBC4.0免注冊驅動原理Servlet實現方式三 ServletContainerIn…

idea使用前的全局配置,一次配置,多次使用

前提&#xff1a;每次導入一個新的項目&#xff0c;就需要重新設置編碼、maven、jdk、git版本等信息。實際每個項目所用到的配置信息是一致的&#xff0c;除非換一家公司&#xff0c;不然不會改動到這些內容。 idea版本&#xff1a;2024.1.1 1.1、全局Maven配置 IDEA啟動頁面…

微火一文盤點:為何全域運營系統會成為創業新風口?

當前&#xff0c;微火全域運營已經成為創業的新風口&#xff0c;想要做微火全域運營服務商的創業者數量日益增多。據目前了解到的最新消息&#xff0c;微火全域運營系統的市場占有率已經超過了48%&#xff0c;并且還在持續不斷地上漲中。 所謂微火全域運營系統&#xff0c;就是…

InLine Chat功能優化對標Github Copilot,CodeGeeX帶來更高效、更直觀的編程體驗!

VSCode中的CodeGeeX 插件上線InLine Chat功能后&#xff0c;收到不少用戶的反饋&#xff0c;大家對行內交互編程這一功能非常感興趣。近期我們針對這個功能再次進行了深度優化&#xff0c;今天詳細介紹已經在VSCode插件v2.8.0版本上線的 CodeGeeX InLine Chat功能&#xff0c;以…

藍橋杯成績已出

藍橋杯的成績早就已經出來了&#xff0c;雖然沒有十分驚艷 &#xff0c;但是對于最終的結果我是心滿意足的&#xff0c;感謝各位的陪伴&#xff0c;關于藍橋杯的刷題筆記我已經堅持更新了49篇&#xff0c;但是現在即將會告別一段落&#xff0c;人生即將進入下一個規劃。我們一起…

Spring框架學習筆記(一):Spring基本介紹(包含IOC容器底層結構)

1 官方資料 1.1 官網 https://spring.io/ 1.2 進入 Spring5 下拉 projects, 進入 Spring Framework 進入 Spring5 的 github 1.3 在maven項目中導入依賴 <dependencies><!--加入spring開發的基本包--><dependency><groupId>org.springframework<…

jni 返回二維byte數組

在JNI中返回二維byte數組&#xff0c;你需要在Java中準備一個相應的二維數組來接收這個返回值。在JNI層面&#xff0c;你可以創建一個二維的byte數組&#xff0c;并使用GetByteArrayRegion和SetByteArrayRegion來操作它。 以下是一個簡單的例子&#xff1a; public class Jni…

基于STC12C5A60S2系列1T 8051單片機實現一主單片機與一從單片機進行雙向串口通信功能

基于STC12C5A60S2系列1T 8051單片機實現一主單片機與一從單片機進行雙向串口通信功能 STC12C5A60S2系列1T 8051單片機管腳圖STC12C5A60S2系列1T 8051單片機串口通信介紹STC12C5A60S2系列1T 8051單片機串口通信的結構基于STC12C5A60S2系列1T 8051單片機串口通信的特殊功能寄存器…

QT---day5,通信

1、思維導圖 2、TCp 服務器 #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> #include <QTcpServer> #include <QList> #include <QTcpSocket> #include <QMessageBox> #include <QDebug> #include <QTcpServer> QT_B…

鐳速實現利用Libarchive實現高效、智能的文件傳輸和管理

在前一篇報道中&#xff0c;我們闡述了Libarchive這一開源庫的強大功能&#xff0c;它專門用于處理歸檔文件。通過整合Libarchive&#xff0c;鐳速在包括Windows和Linux在內的多個操作系統上提供了在線解壓縮服務&#xff0c;為企業構建了一個既強大又安全的文件傳輸系統&#…

【代碼分享】使用HTML5的Canvas繪制編碼說明圖片

最急在工作中遇到一個需求&#xff0c;根據給定的編碼生成編碼說明&#xff0c;像下面這樣的效果。 不同含義的編碼用橫杠分割&#xff0c;然后每個編碼下面用箭頭指明具體的含義。下面是我使用canvas實現的代碼。具體的編碼寬度大家可以根據實際情況進行調整&#xff0c;目前…

Ranger 面試題及答案整理,最新面試題

Ranger 的安全模型是如何設計的&#xff1f; Ranger的安全模型設計主要基于訪問控制和安全策略的管理&#xff0c;它通過以下幾個關鍵組件實現&#xff1a; 1、策略管理&#xff1a; Ranger 提供了一個中央管理平臺&#xff0c;用于定義、更新和管理安全策略。這些策略根據資…