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

  • 控制好标记数组的大小。
相关推荐
MYX_30918 分钟前
第三章 线型神经网络
深度学习·神经网络·学习·算法
鼠鼠我捏,要死了捏22 分钟前
Java虚拟线程原理与性能优化实战
java·performance-optimization·virtual-thread
艾菜籽43 分钟前
Spring MVC练习:留言板
java·spring·mvc
左灯右行的爱情1 小时前
4-Spring SPI机制解读
java·后端·spring
Code小翊1 小时前
C语言bsearch的使用
java·c语言·前端
yong99901 小时前
C#驱动斑马打印机实现包装自动打印
java·数据库·c#
好记忆不如烂笔头abc1 小时前
linux系统记录登录用户的所有操作
java·linux·服务器
sp421 小时前
一套清晰、简洁的 Java AES/DES/RSA 加密解密 API
java·后端
坚持编程的菜鸟1 小时前
LeetCode每日一题——三角形的最大周长
算法·leetcode·职场和发展
野犬寒鸦2 小时前
从零起步学习MySQL || 第五章:select语句的执行过程是怎么样的?(结合源码深度解析)
java·服务器·数据库·后端·mysql·adb