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


          目录
          相关文章
          |
          6天前
          |
          算法 Java C语言
          C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
          C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
          |
          6天前
          |
          存储 测试技术
          LabVIEW编程开发PCB自动测试设备
          LabVIEW编程开发PCB自动测试设备
          |
          6天前
          |
          监控 安全 Java
          Java与物联网:连接与控制设备
          Java与物联网:连接与控制设备
          32 0
          |
          6天前
          |
          安全 测试技术 网络架构
          【专栏】编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。
          【4月更文挑战第28天】本文介绍了编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。通过实际案例分析,展示了如何成功完成割接,确保业务连续性和稳定性。遵循这些步骤,可提高割接成功率,为公司的网络性能和安全提供保障。
          |
          6天前
          |
          IDE Java 测试技术
          Java测试三两事
          Java测试三两事
          10 1
          |
          6天前
          |
          编解码 测试技术 API
          模拟手机设备:使用 Playwright 实现移动端自动化测试
          本文介绍了使用Python的Playwright库进行移动设备模拟和自动化测试的方法。通过Playwright,开发者能模拟不同设备的硬件和软件特性,如屏幕尺寸、用户代理,以确保网站在移动设备上的表现。示例代码展示了如何模拟iPhone X并访问网站,之后可在此基础上编写测试代码以检验响应式布局和交互功能。Playwright的设备参数注册表支持多种设备,简化了移动端自动化测试的流程。
          17 1
          |
          6天前
          |
          数据采集 数据管理 测试技术
          LabVIEW开发新型电化学性能测试设备
          LabVIEW开发新型电化学性能测试设备
          17 6
          |
          6天前
          |
          前端开发 JavaScript Java
          java测试链接超时返回前端
          java测试链接超时返回前端
          19 0
          |
          6天前
          |
          安全 IDE Java
          Java串口通信技术探究2:RXTX库单例测试及应用
          Java串口通信技术探究2:RXTX库单例测试及应用
          29 4
          |
          6天前
          |
          Java 测试技术 Maven
          Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
          Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]

          热门文章

          最新文章