当前位置: 首页 > article >正文

LeetCode:LCP77.符文储备(排序 Java)

目录

LCP77.符文储备

题目描述:

实现代码与解析:

排序

原理思路:


LCP77.符文储备

题目描述:

        远征队在出发前需要携带一些「符文」,作为后续的冒险储备。runes[i] 表示第 i 枚符文的魔力值。

他们将从中选取若干符文进行携带,并对这些符文进行重新排列,以确保任意相邻的两块符文之间的魔力值相差不超过 1

请返回他们能够携带的符文 最大数量

示例 1:

输入:runes = [1,3,5,4,1,7]

输出:3

解释:最佳的选择方案为[3,5,4]
将其排列为 [3,4,5] 后,任意相邻的两块符文魔力值均不超过 1,携带数量为 3
其他满足条件的方案为 [1,1] 和 [7],数量均小于 3。
因此返回可携带的最大数量 3

示例 2:

输入:runes = [1,1,3,3,2,4]

输出:6

解释:排列为 [1,1,2,3,3,4],可携带所有的符文

提示:

  • 1 <= runes.length <= 10^4
  • 0 <= runes[i] <= 10^4

实现代码与解析:

排序

import java.util.Arrays;

//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int runeReserve(int[] runes) {

        int n = runes.length;
        Arrays.sort(runes);
        int pre = runes[0];
        int res = 1;
        int len = 1;
        for (int i  =1; i < n; i++) {
            if (runes[i] - runes[i - 1] <= 1) {
                len++;
            } else {
                len = 1;
            }
            res = Math.max(res, len);
        }

        return res;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

原理思路:

        比较简单,排序,然后找出连续的最长值即可。


http://www.kler.cn/a/351075.html

相关文章:

  • 微服务之松耦合
  • Prompt工程框架介绍与场景选择
  • CDP中的Hive3之Hive Metastore(HMS)
  • 自建RustDesk服务器
  • 医学图像分割半监督学习记录
  • vscode 扩展Cline、Continue的差别?
  • 《Windows PE》6.4.2 远程注入DLL
  • MySQL联合索引中不同区分度列的顺序对查询性能的影响
  • Spring Boot知识管理系统:敏捷开发实践
  • Spring Boot 自动配置与 Starter POMs 深度解析
  • Excel:Cells(Rows.Count, 1).End(xlUp).Row和Cells(Rows.Count, 1).End(xlUp)有什么区别
  • Git 查看当前分支是基于哪个分支拉取(源头分支)
  • 产品开发历程|共享空间系统小程序界面风格切换
  • 开放式蓝牙耳机哪个品牌好用?开放式耳机排行榜测评!
  • 转型AI产品经理需要掌握的硬知识(三):2B和2C类AI产品公司脑洞
  • JVM篇(运行时数据区(实战课程学习总结)
  • Windows:在WPS或者Word中添加Latex公式编辑器
  • 记录Centos7 漫漫配置路
  • Apache Doris介绍
  • 物联网的应用以及优势
  • webpack和vite的区别?
  • 实时语音转文字(基于NAudio+Whisper+VOSP+Websocket)
  • 通过激酶找到ChEMBL数据库数据的步骤与代码实现
  • day36 56.合并区间 738.单调递增的数字
  • Elasticsearch文档操作
  • 如何保证Redis和数据库的数据一致性