华为OD机试真题 JavaScript 实现【最长的连续子序列】【2022Q4 100分】

news/2024/11/15 3:17:29/

在这里插入图片描述

一、题目描述

有N个正整数组成的一个序列,给定一个整数sum,求长度最长的的连续子序列使他们的和等于sum,返回该子序列的长度,如果没有满足要求的序列返回-1。

二、输入描述

第1行有N个正整数组成的一个序列。

第2行给定一个整数sum。

求最长连续子序列,只要遍历计算连续的子序列和等于更定值就可以了,记录最终最长子序列。

三、输出描述

长度最长的的连续子序列使他们的和等于sum,返回该子序列的长度,如果没有满足要求的序列返回-1。

四、解题思路

  1. 读取输入的序列和目标值sum;
  2. 将输入的序列转换为整数数组;
  3. 初始化最大子序列长度maxLen为-1;
  4. 遍历序列的每个元素,记当前元素索引为i:
    • 初始化子序列的和subSum为当前元素的值,计数器count为1;
    • 若subSum大于目标值sum,则跳过当前元素,继续遍历下一个元素;
    • 若subSum等于目标值sum,则更新maxLen为1和maxLen中的较大值;
    • 遍历从i+1到序列末尾的元素,记当前元素索引为j:
      • 将当前元素的值加到subSum中;
      • 将计数器count加1;
      • 若subSum大于目标值sum,则结束当前遍历;
      • 若subSum等于目标值sum,则更新maxLen为count和maxLen中的较大值,并结束当前遍历;
  5. 输出maxLen作为结果。

五、JavaScript算法源码

function findLongestSubsequence(nums, target) {const len = nums.length;let maxLen = -1;for (let i = 0; i < len - 1; i++) {let subSum = nums[i];if (subSum > target) {continue;} else if (subSum === target) {maxLen = Math.max(maxLen, 1);}let count = 1;for (let j = i + 1; j < len; j++) {subSum += nums[j];count++;if (subSum > target) {break;} else if (subSum === target) {maxLen = Math.max(maxLen, count);break;}}}return maxLen;
}

六、效果展示

在这里插入图片描述


🏆下一篇:华为OD机试真题 JavaScript 实现【相对开音节】【2022Q4 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JavaScript)真题(A卷+B卷)

每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述


http://www.ppmy.cn/news/327203.html

相关文章

苹果X更换电池-苹果x电池寿命80%要换吗?

手机电池寿命小于80%&#xff0c;是否需要更换电池&#xff0c;这主要取决于用户的使用体验。苹果电池更换。 我爱家电维修网告诉你如果感觉还可以&#xff0c;没有明显的使用经验&#xff0c;不一定需要立即更换&#xff0c;可以继续使用。 如果感觉寿命明显下降&#xff0c;…

苹果x面容id不可用是什么原因_iPhone X显示面容ID不可用,大神一招FaceID恢复

iPhone X显示面容ID不可用&#xff0c;大神一招Face ID恢复正常&#xff0c;解锁无忧 Face ID(面容ID)是iPhone X的安全解锁功能&#xff0c;也是iPhone X的最大亮点&#xff0c;只需要一眼就可以安全地解锁。但iPhone X面容ID不可用是实际维修中最常见的故障&#xff0c;也是这…

苹果x面容id不可用是什么原因_iPhone X使用体验!苹果手机那么保值是有原因的...

在竞争如此激烈的手机市场之下&#xff0c;苹果所要面临的压力同样巨大。在2018年第二季度的出货量报告中便可得知&#xff0c;华为已经赶超苹果&#xff0c;跃居全球第二。在众多国产手机品牌快速崛起的环境之下&#xff0c;苹果的销量更加难以稳定。不得不承认的是&#xff0…

苹果x与苹果xs的区别_这四款X系列的苹果手机怎么选择呢

X系列有4款经典机型XR&#xff0c;XS&#xff0c;X&#xff0c;XSMax 那么这四款应该怎么选呢&#xff1f; 首先&#xff0c;屏幕尺寸方面大家可以先了解下&#xff1a; 这里我以在四者中&#xff0c;价格和配置属于中间的Xs来做对比&#xff0c;能够更加清晰得对比出四款机型的…

苹果x和xs买哪个好_苹果12和苹果11哪个值得买-苹果12和11哪个更值得买

Ready 苹果iPhone 12系列产品已经开启预售&#xff0c;很多想要更换手机的伙伴都想知道&#xff0c;苹果12和11哪个更值得买呢&#xff1f; 本期视频是由iPhone 12、iPhone 11手机、iOS14系统录制的。 1.外观设计上 iPhone 11采用了圆润凸出的金属中框设计&#xff0c;而iPhone…

nginx的开始(一)---nginx的安装

文章目录 1.nginx是什么&#xff1f;2.nginx安装2.1.安装准备&#xff1a;2.2.进行安装&#xff1a;2.2.1.apt安装&#xff08;快速&#xff09;2.2.2.源码安装 2.3.配置文件简解&#xff08;nginx.conf&#xff09; 1.nginx是什么&#xff1f; Nginx&#xff08;发音为"e…

myBatis-plus之CRUD

文章目录 查询普通查询根据 ID 查询根据ID批量查询根据MAP查询 条件构造器查询构造器声明&#xff1a;QueryWrapper方法常用方法&#xff0c;以及简单使用方式实体作为条件构造器构造方法的参数lambda条件构造器 更新普通更新根据 ID 修改 条件构造器更新 删除普通删除根据 ID …

[迁移学习]预训练和微调

一、概述 一般的有监督迁移学习分为以下三种&#xff1a; ①将训练好的模型作为特征抽取模块&#xff08;例如以resnet进行特征提取&#xff09; ②在一个相关的任务中训练后直接后直接使用(例如gpt) ③在训练好的模型基础上进行微调 此外还有无监督学习的方式 zero-shot&#…