【leetcode】667 优美的排列2

本文介绍如何使用JavaScript实现根据参数k动态构造数组,通过控制相邻元素的差值绝对值,确保数组满足特定跳跃规则。从k=1的递增序列开始,逐步增加复杂度,直至满足k的跳跃条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
已知answer数组是一个1-n的数组,后面的参数k的意思是相邻数组的差的绝对值的数组delta中的不同整数的个数。
已知delta数组中整数个数为n-1个。
思路:
已知当k等于1的时候就是递增就行
在这里插入图片描述
k=2是只要留3个数进行跳跃操作就行
在这里插入图片描述
K等于3的时候留四个。
在这里插入图片描述
以此类推。。。

var constructArray = function(n, k) {
    an = new Array();
    for(let i=1;i<n-k+1;i++)
        an.push(i);
        var flag = 1;
        var delta = k;
        while(delta>0)
        {
            an.push(an[an.length-1]+(flag*delta))
            delta-=1;
            flag=-flag;
        }
        return an;
};

兄弟们加油啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值