LeetCode算法心得——k-avoiding 数组的最小总和(标记数组)

大家好,我是晴天学长,这是一个细节题和一部分的思维题哈!



2) .算法思路

k-avoiding 数组的最小总和

1,填充一个1到n 的Boolean的数组

要n个数,但是数组大小不能确定。

所以建立1000的大小。

2.遍历筛选,如果数组中有这个的话,标记为false。

3.监测是否是false,true就sum++(前缀和)。


3).代码示例

java 复制代码
class Solution {
    public int minimumSum(int n, int k) {
            boolean[] temp = new boolean[1000];
            int sum = 0;
            for (int i = 1; i <= k&&i<=n; i++) {
                if (k - i <= temp.length && k - i != i && temp[i] == false) {
                    temp[k - i] = true;
                }
            }
            //前缀和
            int i = 1;
            int j = 0;
            while (true){
                if (temp[i] == false){
                    sum+=i;
                    j++;
                    if (j == n){
                        return sum;
                    }
                }
                i++;
            }
    }
}

4).总结

  • 控制好标记数组的大小。
相关推荐
细节处有神明3 分钟前
开源数据之历史气象数据的获取与使用
人工智能·python·算法
Amarantine、沐风倩✨4 分钟前
一次线上性能事故的处理复盘:从 SQL 到扩容的工程化思路
java·数据库·sql·oracle
tb_first4 分钟前
万字超详细苍穹外卖学习笔记1
java·jvm·spring boot·笔记·学习·tomcat·mybatis
小白开始进步11 分钟前
JAKA Zu12 机械臂运动学算法深度解析(含可视化方案)
python·算法·numpy
代码匠心20 分钟前
从零开始学Flink:状态管理与容错机制
java·大数据·后端·flink·大数据处理
zhougl99629 分钟前
Java内部类详解
java·开发语言
梵刹古音31 分钟前
【C语言】 递归函数
c语言·数据结构·算法
茶本无香36 分钟前
设计模式之十二:模板方法模式Spring应用与Java示例详解
java·设计模式·模板方法模式
yongui4783440 分钟前
混凝土二维随机骨料模型 MATLAB 实现
算法·matlab
酉鬼女又兒1 小时前
JAVA牛客入门11~20
算法