首页 > 编程知识 正文

java输入不定长度的数组,字符串连接的结果过长

时间:2023-05-05 03:43:07 阅读:25335 作者:3155

在JavaScript超过数组长度也不会出错的今天,解决问题时遇到了这样的问题

while(sumtarget({right; sum =nums[right]; }其中,while循环没有添加right索引超过数组长度时的限制,但没有报告错误,程序运行正常。

在此调查原因后,发现right在范围外时,nums[right]输出为undefined

console.log(nums[nums.Length] )/undefined在undefined与数量相加时为NaN

在console.log (10 nums [ nums.length ] )/Nanwhile循环的判定条件下,NaN与数字比较直接返回false,因此可以不影响结果地退出循环。

console.log(Nan10 )//false主题: 209 .长度最小的子数组

3359 leet code-cn.com/problems/minimum-size-subarray-sum /

试着缩写为后缀递增,忘记了将right的初始值从-1改为0。JavaScript无法通过负的索引遍历数组直接返回undefined。 因此,结合上面的示例,直接退出第一个小while循环。 right就这样,陷入死循环。

错误示范:

varminsubarraylen=function (target,nums ) ) { let left=0,right=-1; let sum=0; let res=nums.length 1; while(rightnums.length ) while (sum target ) { //right; sum =nums[ right]; }while(sum=target ) RES=) RESright-left1)? right-left 1 : res; sum -=nums[left]; 左足; } } return resnums.length? 0 : res; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。