JS前端算法:乱序整数序列两数之和绝对值最小
// 乱序整数序列两数之和绝对值最小
function sortAbs(arr) {let tmp = arr.sort((a, b) => a - b); // 先排序,感觉也可以不排序if (tmp[0] >= 0) { // 都是正整数的话,取最小俩return tmp[0] + " " + tmp[1] + " " + (tmp[0] + tmp[1]);}let len = tmp.length;if (tmp[len - 1] <= 0) { // 都是负整数的话,取最大俩return tmp[len - 2] + " " + tmp[len - 1] + " " + Math.abs(tmp[len - 1] + tmp[len - 2]);}let [x, y] = [tmp[0], tmp[1]];let min = Math.abs(x + y);for (let i = 0; i < len; i++) { // 如果混合的话,暴力双循环,找到最小的for (let j = i + 1; j < len; j++) {let s = Math.abs(tmp[i] + tmp[j]);if (s < min) {min = s;[x, y] = [tmp[i], tmp[j]];}}}return x + " " + y + " " + min;
}
console.log(sortAbs("-1 -3 7 5 11 15".split(" ").map(Number))); // -3 5 2
JS前端算法:乱序整数序列两数之和绝对值最小相关推荐
- 华为OD机试 - 乱序整数序列两数之和绝对值最小 | 机试题算法思路 【2023】
最近更新的博客 华为OD机试 - 简易压缩算法(Python) | 机试题算法思路 [2023] 华为OD机试题 - 获取最大软件版本号(JavaScript) 华为OD机试 - 猜字谜(Python ...
- 【华为OD机试真题 Python】乱序整数序列之两数之和绝对值最小
前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你.关于OD机试流程.面经.面试指导等,如有任何疑问,欢迎联系我,wechat:steven ...
- 【算法】哈希表 ( 两数之和 )
算法 系列博客 [算法]刷题范围建议 和 代码规范 [算法]复杂度理论 ( 时间复杂度 ) [字符串]最长回文子串 ( 蛮力算法 ) [字符串]最长回文子串 ( 中心线枚举算法 ) [字符串]最长回文 ...
- 两个数和两数之和绝对值
""" /* 给定一个随机的整数数组(可能存在正整数和负整数)nums, 请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值 并返回这两 ...
- 力扣LeetCode算法题第2题-两数之和(二)
力扣算法题第二题,两数相加算法题: 要求: //给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. //如果,我们将 ...
- 领扣LintCode算法问题答案:56. 两数之和
56. 两数之和 描述 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target. 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标.注意这里下标的范围是 ...
- 算法实战(一)两数之和
一.前言 一直以来,算法学来学去,但是真正解题的时候,却运用不上来,在项目conding的时候,也不会想到.归根结底还是缺乏了必要的练习,现在开始刷leetcode,从头开始,坚持每天一题. 二.题目 ...
- 【数据结构与算法】之深入解析“两数之和”的求解思路与算法示例
一.题目要求 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数 ...
- 【前端来刷LeetCode】两数之和与两数相加
大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...
最新文章
- 使用smack对tigase进行压力测试
- Windows 窗体多线程
- Java集合框架一览笔录
- android旋转动画开源库,android 围绕中心旋转动画
- mysql 数据表操作 存储引擎介绍
- Day04-循环和列表
- java操作无符号数
- Jsoup使用~抓取豆瓣妹子图
- Java基础——分隔符
- 使用PDF编辑器进行PDF合并与PDF页面提取
- Linux内核4.14版本——SPI NOR子系统(2)——spi-nor.c分析
- MATLAB——Harris角点检测
- Python快速爬虫技巧
- linux环境中设定开机自启动与定时任务
- Proteus 抢答器设计经验 边沿触发的单稳态触发器实现 74LS148的一些BUG 74LS05反相器
- 经验法则:回波损耗多少才算多?//学习记录
- 理解VUE2双向数据绑定原理和实现
- 浪潮服务器sa5212m4重装阵列卡信息,浪潮英信服务器SA5212M4
- 关于贫穷和拖延的天才发现
- 大中小型企业如何搭建自有协同办公平台?