登录
首页 >  文章 >  前端

选择数字 - HakerRank 解决方案 - Javascript

来源:dev.to

时间:2024-09-05 09:48:49 451浏览 收藏

在文章实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《选择数字 - HakerRank 解决方案 - Javascript》,聊聊,希望可以帮助到正在努力赚钱的你。

选择数字 - HakerRank 解决方案 - Javascript

给定一个整数数组,找到任意两个元素之间的绝对差小于或等于

的最长子数组

例子

_a = [1,1,2,2,4,4,5,5,5]_
有两个满足条件的子数组:[1,1,2,2]和[4,4,5,5,5]。最大长度子数组有 5 个元素。

功能说明

在下面的编辑器中完成pickingnumbers函数。

pickingnumbers 有以下参数:

  • int a[n]:整数数组

退货

  • int:满足条件的最长子数组的长度

输入格式

第一行包含一个整数n,即数组a的大小。
第二行包含 n 个空格分隔的整数,每个整数都是 a[i].

解决方案

function pickingNumbers(a) {
    // Create an array to store frequency of each element in the input array
    let frequency = new Array(100).fill(0);

    // Count frequency of each element
    for (let i = 0; i < a.length; i++) {
        frequency[a[i]]++;
    }

    // Initialize a variable to store the maximum length of subarray found
    let maxLength = 0;

    // Traverse through frequency array to find the longest subarray
    for (let i = 1; i < frequency.length; i++) {
        // The length of a valid subarray is the sum of the frequency of
        // the current element and the previous element
        maxLength = Math.max(maxLength, frequency[i] + frequency[i - 1]);
    }

    return maxLength;
}

本篇关于《选择数字 - HakerRank 解决方案 - Javascript》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>