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).总结

  • 控制好标记数组的大小。
相关推荐
驭渊的小故事1 分钟前
简单模板笔记
数据结构·笔记·算法
YuTaoShao16 分钟前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法一)前后缀分解
算法·leetcode·职场和发展
消失的旧时光-194320 分钟前
第十四课:Redis 在后端到底扮演什么角色?——缓存模型全景图
java·redis·缓存
BD_Marathon21 分钟前
设计模式——依赖倒转原则
java·开发语言·设计模式
VT.馒头23 分钟前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
BD_Marathon25 分钟前
设计模式——里氏替换原则
java·设计模式·里氏替换原则
Coder_Boy_27 分钟前
Deeplearning4j+ Spring Boot 电商用户复购预测案例中相关概念
java·人工智能·spring boot·后端·spring
css趣多多30 分钟前
add组件增删改的表单处理
java·服务器·前端
雨中飘荡的记忆31 分钟前
Spring Batch实战
java·spring
goodluckyaa32 分钟前
LCR 006. 两数之和 II - 输入有序数组
算法