100143. 统计已测试设备 --力扣 --JAVA

简介: 给你一个长度为 n 、下标从 0 开始的整数数组 batteryPercentages ,表示 n 个设备的电池百分比。你的任务是按照顺序测试每个设备 i,执行以下测试操作:如果 batteryPercentages[i] 大于 0:增加 已测试设备的计数。将下标在 [i + 1, n - 1] 的所有设备的电池百分比减少 1,确保它们的电池百分比 不会低于 0 ,即 batteryPercentages[j] = max(0, batteryPercentages[j] - 1)。移动到下一个设备。否则,移动到下一个设备而不执行任何测试。返回一个整数,表示按顺序执行测试操作

 题目

给你一个长度为 n 、下标从 0 开始的整数数组 batteryPercentages ,表示 n 个设备的电池百分比。

你的任务是按照顺序测试每个设备 i,执行以下测试操作:

    • 如果 batteryPercentages[i]大于0
      • 增加 已测试设备的计数。
      • 将下标在 [i + 1, n - 1] 的所有设备的电池百分比减少 1,确保它们的电池百分比 不会低于0 ,即 batteryPercentages[j] = max(0, batteryPercentages[j] - 1)
      • 移动到下一个设备。
        • 否则,移动到下一个设备而不执行任何测试。

        返回一个整数,表示按顺序执行测试操作后 已测试设备 的数量。

        解题思路

          1. 遍历整个循环,根据当前设备的电池百分比来修改后续设备的电池量,并统计小号设备的数量。

          代码展示

          class Solution {
              public int countTestedDevices(int[] batteryPercentages) {
                  int n = batteryPercentages.length;
                  int ans = 0;
                  for(int i = 0; i < n; i++){
                      if(batteryPercentages[i] > 0){
                          ans++;
                          for(int j = i + 1; j < n; j++){
                              if(batteryPercentages[j] > 0){
                                  batteryPercentages[j]--;
                              }
                          }
                      }
                  }
                  return ans;
              }
          }

          image.gif


          目录
          相关文章
          |
          11天前
          |
          Unix Shell Linux
          LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
          本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
          LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
          |
          13天前
          |
          传感器 网络协议 Java
          三大硬核方式揭秘:Java如何与底层硬件和工业设备轻松通信!
          大家好,我是V哥。最近与一位从事工业互联网项目的学员交流,启发我分享Java如何与底层硬件和工业设备通信。本文将介绍三种方法:1)使用`jLibModbus`库通过Modbus协议读取设备寄存器数据;2)使用JNI(Java Native Interface)直接访问硬件;3)使用`JSerialComm`库通过串口通信读取数据。每种方法都有详细步骤和示例代码,帮助你轻松实现与硬件设备的通信。无论是工业自动化还是物联网应用,这些方法都能派上用场。欢迎关注和支持!
          |
          2月前
          |
          测试技术 Linux Android开发
          i2c总线及设备测试工具i2ctools:i2cdetect、i2cdump、i2cget、i2cset
          本文介绍了i2ctools工具集的使用,包括i2cdetect、i2cdump、i2cget和i2cset,这些工具有助于I2C设备的开发和调试,通过检测设备、读写寄存器和数据块来提高开发效率。
          95 1
          |
          2月前
          |
          XML Java 测试技术
          Selenium WebDriver自动化测试(基础篇):不得不掌握的Java基础
          关于Selenium WebDriver自动化测试的Java基础篇,涵盖了Java的变量、数据类型、字符串操作、运算符、流程控制、面向对象编程、关键字用法、权限修饰符、异常处理和IO流等基础知识点,为进行自动化测试提供了必要的Java语言基础。
          35 1
          |
          2月前
          |
          测试技术 索引 CDN
          hyengine wasm业务性能测试问题之测试设备如何解决
          hyengine wasm业务性能测试问题之测试设备如何解决
          |
          2月前
          |
          存储 算法 Java
          LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
          LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
          21 0
          |
          2月前
          |
          Java 测试技术 API
          深入理解单元测试:JUnit框架在Java中的应用
          【8月更文挑战第3天】本文将引导读者通过JUnit框架的镜头,探索单元测试的奥秘。我们将一起揭开单元测试的神秘面纱,了解其在软件开发中的关键作用,并具体学习如何在Java项目中应用JUnit进行有效的单元测试。文章不仅会涉及理论概念,还将通过具体的代码示例,展示如何编写和运行单元测试,以确保软件质量。让我们开始吧,一起踏上这段提升代码质量和开发效率的旅程。
          31 0
          |
          3月前
          |
          XML 测试技术 数据格式
          《手把手教你》系列基础篇(八十五)-java+ selenium自动化测试-框架设计基础-TestNG自定义日志-下篇(详解教程)
          【7月更文挑战第3天】TestNG教程展示了如何自定义日志记录。首先创建一个名为`TestLog`的测试类,包含3个测试方法,其中一个故意失败以展示日志。使用`Assert.assertTrue`和`Reporter.log`来记录信息。接着创建`CustomReporter`类,继承`TestListenerAdapter`,覆盖`onTestFailure`, `onTestSkipped`, 和 `onTestSuccess`,在这些方法中自定义日志输出。
          44 6
          |
          3月前
          |
          安全 物联网 物联网安全
          物联网设备的安全性评估与测试:技术深度解析
          【7月更文挑战第7天】物联网设备的安全性评估与测试是保障物联网系统安全运行的重要环节。通过实施全面的安全性评估与测试,可以发现并修复设备中存在的安全漏洞和风险,提高整体安全防护能力。然而,由于物联网设备的多样性和复杂性以及安全标准与监管的缺失等挑战,测试工作需要不断创新和优化。未来,随着技术的不断进步和实践的深入,物联网设备的安全性评估与测试将更加完善和高效。
          |
          3月前
          |
          Java 测试技术 Apache
          《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
          【7月更文挑战第4天】Apache Log4j 是一个广泛使用的 Java 日志框架,它允许开发者控制日志信息的输出目的地、格式和级别。Log4j 包含三个主要组件:Loggers(记录器)负责生成日志信息,Appenders(输出源)确定日志输出的位置(如控制台、文件、数据库等),而 Layouts(布局)则控制日志信息的格式。通过配置 Log4j,可以灵活地定制日志记录行为。
          47 4