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


          目录
          相关文章
          |
          2月前
          |
          Unix Shell Linux
          LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
          本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
          LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
          |
          2天前
          |
          Java 测试技术 Maven
          Java一分钟之-PowerMock:静态方法与私有方法测试
          通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
          8 2
          |
          9天前
          |
          Java 程序员 测试技术
          Java|让 JUnit4 测试类自动注入 logger 和被测 Service
          本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
          17 5
          |
          27天前
          |
          Java 流计算
          Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
          Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
          34 1
          Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
          |
          14天前
          |
          存储 人工智能 Java
          将 Spring AI 与 LLM 结合使用以生成 Java 测试
          AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
          26 1
          |
          25天前
          |
          分布式计算 Java 大数据
          大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
          大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
          29 0
          |
          25天前
          |
          算法 Java
          LeetCode(一)Java
          LeetCode(一)Java
          |
          2月前
          |
          SQL JavaScript 前端开发
          基于Java访问Hive的JUnit5测试代码实现
          根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
          69 6
          |
          30天前
          |
          算法 Java 测试技术
          数据结构 —— Java自定义代码实现顺序表,包含测试用例以及ArrayList的使用以及相关算法题
          文章详细介绍了如何用Java自定义实现一个顺序表类,包括插入、删除、获取数据元素、求数据个数等功能,并对顺序表进行了测试,最后还提及了Java中自带的顺序表实现类ArrayList。
          17 0
          |
          2月前
          |
          传感器 网络协议 Java
          三大硬核方式揭秘:Java如何与底层硬件和工业设备轻松通信!
          大家好,我是V哥。最近与一位从事工业互联网项目的学员交流,启发我分享Java如何与底层硬件和工业设备通信。本文将介绍三种方法:1)使用`jLibModbus`库通过Modbus协议读取设备寄存器数据;2)使用JNI(Java Native Interface)直接访问硬件;3)使用`JSerialComm`库通过串口通信读取数据。每种方法都有详细步骤和示例代码,帮助你轻松实现与硬件设备的通信。无论是工业自动化还是物联网应用,这些方法都能派上用场。欢迎关注和支持!
          117 0