首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于个数组中两个数的和等于给定数的问题

今天我遇到这样个问题,问题描述如下:         给出个数组,再给定个数target,如果数组中有两个数的和等于target,那么返回这两个数的索引,如果说有多对数都符合条件则返回第对,返回的结果用个长度为...=0,那么返回[1,4],另外个特例就是两个数可能在同个位置上这样不能返回同个索引,如[0,1,4]  target=0,并不是返回[1,1],而是不存在这样两个数,讲清楚题之后那么我们再看具体的解题思路...n时判断,target-n是否在map中,如果在则返回索引,这是还是会出现上述的两个问题,首先如果有多个数重复的时候,那么map中同个数它的value值存放的是,这些相同数的最后个索引,所以我们在判断是否存在这样对数的时候再加上条件...,问题描述可以是这样,从个数组中找出三个数的索引,让他们的和等于0,如果用穷举法的话,那么时间复杂度将达到o(n*n*n),但是如果运用上面的思路的话,遍历数组,选取个数作为3个数中的个数n,然后从剩余的数中找出两个数的和等于...-n的两个数,那么这样的话,时间复杂度会减少到o(n*n),并且如果再仔细斟酌,那么第个遍历过的数都不会被算在内,那么程序将会更加快,这里只提供思路,代码就不提供了,谢谢!!!

75920
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在 Python 中确定个数字是否等于 0,考虑精度问题

    在 Python 中,特别是在处理浮点数时,确定个数字是否等于 0 时,必须考虑精度问题。由于计算机使用二进制表示数字,浮点运算可能会引入微小的误差。...下面是在 Python 中检查个数字是否实际为零的详细方法,该数字可以是整数、浮点数或其他数值类型。 1. 处理整数 处理整数时,相对简单,因为整数具有精确的表示。...处理浮点数 在处理浮点数时,我们使用个容差水平(指的是种衡量系统容忍误差程度的度量)来检查数字是否足够接近零。这种方法考虑到可能存在的精度问题。...用于比较:在比较两个数字是否相等时(不仅限于与零比较),您可以考虑使用类似的方法,检查它们之间的绝对差是否在定的容差范围内。...本文介绍的方法为在 Python 中确定不同数值类型和使用情况下个数字是否有效等于零提供了种强大而灵活的方式。

    22600

    操作符与数据类型转换

    期堡堡给大家讲解了关于JS的基础语法,虽然是些非常基础的知识,但是它对大家的后期学习奠定了定的基础。知识像张网,基础越扎实,网住的鱼就越多,要告诉大家的是平时定要夯实基础。...操作符是什么 为了更好的理解操作符,我们先来看个数学表达式2 + x = 4,其中“ + ”和“ = ”就是传说中的操作符了,它主要用于操作数据。在JS语言里到底有哪些操作符以及如何使用这些操作符?...赋值操作符 2 操作符练习与应用 1 实现闰年的判断,如果是闰年输出“闰年”,否则输出“平年” 闰年的条件:能被4整除同时不能被100整除,或者能被400整除 想了解参考答案的请发送“闰年”到公众号 2 判断个数是否小于等于...NaN NaN NaN NaN true true 结论: 1 undefined进行任何数学运算,得到的均为NaN(Not a Number:不是个数字); 2 undefined等于undefined...0返回NaN,非0的正数除以0返回Infinity(正无穷),非0的负数除以0返回-Infinity(负无穷) var a = 0

    1.9K80

    JavaScript 中的无穷数(Infinity)

    Infinity(无穷大)在 JS 中是个特殊的数字,它的特性是:它比任何有限的数字都大,如果不知道 Infinity, 我们在些运算操作遇到时,就会觉得很有意思。...现在我们来看看 JS 中的Infinity 属性,了解用例并解决些常见的陷阱。...Infinity 的运算得到有限的数: 10 / Infinity; // => 0 个有限的数除以0得到 Infinity 结果: 2 / 0; // => Infinity 对无穷数进行概念上不正确的运算会得到...例如,不能除以无限数,也无法确定无限数是奇数还是偶数: Infinity / Infinity; // => NaN Infinity % 2; // => NaN 2.1 负无穷 负无穷小于任何有限数...解析数据 假设 JS 使用个输入(POST请求、输入字段的值等)来解析个数字。

    8.1K30

    前端学习(28)~js学习(六):运算符

    运算符的分类 JS 中的运算符,分类如下: 算数运算符 自增/自减运算符 元运算符 逻辑运算符 赋值运算符 比较运算符 三元运算符(条件运算符) 算数运算符...常见的算数运算符有以下几种: 运算符 描述 + 加、字符串连接 - 减 * 乘 / 除 % 获取余数(取余、取模) 求余的举例: 假设用户输入345,怎么分别得到3、4、5这三个数呢?...答案: 得到3的方法:345 除以100,得到3.45然后取整,得到3。即:parseInt(345/100) 得到4的方法:345 除以100,余数是45,除以10,得到4.5,取整。...(2)JS中的&&属于短路的与,如果第个值为false,则不会看第二个值。 (3)JS中的||属于短路的或,如果第个值为true,则不会看第二个值。...(3)任何值和NaN做任何比较都是false。 ==符号的强调 注意==这个符号,它是判断是否等于,而不是赋值。 (1)== 这个符号,还可以验证字符串是否相同。

    2K10

    JS定要了解的数据类型和数据转换

    、数据类型 前言 Js中的类型只有6种,其中基本数据类型有5种分别为string,number,boolen,null,undefined,引用类型有种,就是object,object是个大的综合体...,在JS中除了那5个基本数据类型以外,其他的切皆对象。...以下是最近自学js整理的些笔记,希望能让更多初学者了解到数据类型的基本概念。...== NaN; // false ---> NaN 注意:这是JS个特殊的表示,NaN表示不等于任何值.这个数值表示本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。...任何数值除以0都会导致错误而终止程序执行。般使用isNaN()来判断是否为NaN类型. [] == false; // true [] == !

    1K00

    JavaScript 新手的踩坑日记

    近一两年在客户端上用到 JS 的地方也越来越多了,笔者最近接触了JS ,作为前端小白,记录下近期自己“踩坑”的成长经历。 ....2.对象:每个对象都有唯的标识且只严格的等于(===)自己。 null,undefined没有属性,连toString( )方法也没有。...typeof NaN <"number" (吐槽:NaN 是 “ not a number ”的缩写,但是它却是个数字) NaNJS 中唯一一个不能自身严格相等的值: NaN === NaN <...Set 、Map、WeakSet、WeakMap 数据结构 特点 Set 类似于数组,但是成员值唯,注意(这里是个例外),这里 NaN 等于自身 WeakSet 成员只能是对象,而不能是其他类型的值...只要数组元素个数是7,最终答案都是17636.571428571428。 原因是 for-in 循环的是数组下标,所以 total = ‘00123456’ ,然后这个字符串再除以7。

    12810

    新手怎么学JS?JavaScript基础入门

    需要注意的是,JS当中的原始值并不能够更改,也就意味着个原始值创建成功。那么将不能够进行第二次的值得修改,除非重新创建个数据。...如果个数大于等于2的1024次方,那么就会发生“正向溢出”,即 JavaScript 无法表示这么大的数,这时就会返回Infinity。...如果个数小于等于2的-1075次方(指数部分最小值-1023,再加上小数部分的52位),那么就会发生为“负向溢出”,即 JavaScript 无法表示这么小的数,这时会直接返回0。...需要注意,NaN个非常狠的角色,它连自己都不认,也就是说,如果你判断NaN是否等于NaN,答案是否定的,也就是false,二者根本不想等。 3、Infinity Infinity表示为无穷大。...对象: 简单的规则是,Number方法的参数是对象时,将返回NaN,除非是包含单个数值的数组。

    2.5K70

    JavaScript 新手的踩坑日记

    近一两年在客户端上用到 JS 的地方也越来越多了,笔者最近接触了JS ,作为前端小白,记录下近期自己“踩坑”的成长经历。 ....2.对象:每个对象都有唯的标识且只严格的等于(===)自己。 null,undefined没有属性,连toString( )方法也没有。...typeof NaN <"number"复制代码 (吐槽:NaN 是 “ not a number ”的缩写,但是它却是个数字) NaNJS 中唯一一个不能自身严格相等的值: NaN === NaN...Set 、Map、WeakSet、WeakMap 数据结构 特点 Set 类似于数组,但是成员值唯,注意(这里是个例外),这里 NaN 等于自身 WeakSet 成员只能是对象,而不能是其他类型的值...只要数组元素个数是7,最终答案都是17636.571428571428。 原因是 for-in 循环的是数组下标,所以 total = ‘00123456’ ,然后这个字符串再除以7。

    59720

    JavaScript(运算符)

    补充句,JavaScript就是传统意义上的JS,意为网页脚本语言。...目录: 元运算符(类型转换) 赋值运算符 算数运算符 比较运算符 逻辑运算符 元运算符 即,只有个运算数的运算符,也是最基本的运算符。 ++(--) 在运算数前,先自增(自减),再运算。...在我们都js中,如果运算数不是运算符所要求的类型,那么js会自动将运算数进行类型转换。 string类型转number,按照字面值转换,如果字面值不是数字,则转成NaN。...赋值运算符 =(赋值):等于号后面的值赋值给前面的变量。 +=(加等):先将等于号两边的变量或值相加,然后赋值给等于号左边的变量。...int a=8%3; //8除以3余数为2,所以变量a输出为2 比较运算符 >(大于) <(小于) >=(大于或等于) <=(小于或等于) ==(等于) !

    67310

    Java 有运算符:算术、赋值、比较、三元、逻辑、位,且看运算符优先级如何处置

    ; 两个数值相加表示数学中的加法运算; 除号(/):整数在使用除号操作时,得到的结果仍为整数,小数部分会被直接忽略,而不是四舍五入,但是当整数除以0的时候,会引发算术异常(ArithmeticException...Exception in thread "main" java.lang.ArithmeticException: / by zero 正无穷大(Infinity):当个正浮点类型数除以0时,或者正整数除以...0.0时; 负无穷大(-Infinity):当个负浮点类型数除以0时,或者负整数除以0.0时; NaN(Not a Number):当0.0除以0.0时出现; 需要注意的是:正负无穷大和NaN都属于double...浮点类型,并且所有的正无穷大都是相等的,所有的负无穷大也是相等的,但是NaN永远不相等,也不等于自己。...判断个数的是奇数还是偶数; int i = 13; String result = (i % 2) == 0 ?

    1K20
    领券