【EMC笔试题】N个整数中找出三个数,使其和的绝对值最小

2023-11-10

题目描述:给定包含N个数的无序数组S(可能包含负数,0,正数)。求三个数A,B,C,使其和的绝对值最小。

例如:S={-9,0,1,3,6},A=-9,B=3,C=6,MIN=0
算法解析:
解法一:枚举3个数,O(N*N*N)

解法二:对S排序后枚举其中2个数,二分查找另一个数。O(N*N*LOGN)

解法三:对S排序后枚举其中1个数X,使用双向指针i,j从数组两端更新(注意剔除X)。根据S[I]+S[J]+X的正负号来更新I或J。若为负则I++,否则J--。一旦和为0即退出。同时根据每次得到的和来更新best。最后best即为所求。利用三个变量X,Y,Z记录,可得到任一最优解。复杂度O(N*lOGN+N*N)=O(N*N)

期待更好解法 :)

例如S={-9,0,1,3,6,10}
X=-9
0 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【EMC笔试题】N个整数中找出三个数,使其和的绝对值最小 的相关文章

  • 如何在perl系统函数中同时使用管道并防止shell扩展?

    如果将多个参数传递给 perl 的系统函数 则 shell 扩展将不起作用 COMMAND perl e my s system echo s RESULT 如果该命令作为一个参数传递 则扩展将起作用 COMMAND perl e my s
  • 通过 less 生成 CSS 组

    是否能够创建这样一个生成CSS组的mixin 我将在下面解释我的意思 fancymixin max prefix content what I don t know how to code fancymixin 10 x 它会生成类似以下内
  • 使用数据库(MySql)的生产者/消费者系统,这可行吗?

    我需要使用某物协调我的系统与多个消费者 生产者 每个消费者 生产者在具有不同操作系统的不同机器上运行 我一直在研究使用 MySql 来做到这一点 但这似乎非常困难 我的要求很简单 我希望能够随时添加或删除消费者 生产者 因此他们根本不应该相
  • 使用 webpack 编译 less

    我想添加一个非常基本的 less 文件到我的project https github com pbrianmackey uiexperiment在 github 上 参见这次提交 https github com pbrianmackey
  • wp_enqueue_style 和 rel 除了样式表之外?

    我创建 或者更好地尝试 使用 Less 创建我的第一个 WordPress 主题 我所做的就是在我的functions php中使用这样的脚本 wp register style screen css get bloginfo templa
  • 如何使用 16 或 24 列的 bootstrap

    我需要一些帮助将 bootstrap 2 0 4 设置为 16 或 24 列 而不是默认的 12 列 我无法理解我做错了什么我尝试了 bootstrap 站点上的自定义选项 并尝试更改变量中的网格变量 less 文件并使用 Crunch 重
  • 从 LESS 获得缩小的 CSS 输出的最佳方法是什么?

    是否有可能自动从 LESS 获取缩小编译后的 CSS 每次我改变一些东西 我都必须手动压缩它 我使用 less js 来编译 LESS Thanks lessc styles less x压缩命令已被弃用 你必须使用这个命令 lessc c
  • popen vs system:popen 和 system 一样邪恶吗?

    popen 缓冲输出 而系统则不缓冲 这是唯一的区别吗 据我所知 popen 和 system 都通过 shell 运行命令 然而 popen 是evil http www cplusplus com forum articles 1115
  • 如何使用 Grunt 为 LESS 配置 sourceMap?

    我正在使用 grunt 0 4 2 和 grunt contrib less 0 9 0 我希望将我的 LESS 编译成 CSS 并支持源映射 我的 LESS 文件位于public less 主要的称为main less 的编译public
  • LESS mixin 变量类名

    我正在使用 Font Awesome 4 0 0 并且想要在 LESS 中执行类似的操作 btn github btn btn primary margin left 3em i fa css prefix fa css prefix gi
  • PHP 系统() 参数

    我有以下代码执行C 程序 and 输出它 div div 我怎样才能做到这一点您可以将参数传递给 c 程序 这样说 如果这是c program include
  • 在 docker exec 命令中使用“*”

    我正在尝试在运行的 docker 容器中运行特定命令 Docker exec t containername1 ls tmp sth 作为回报我收到 ls cannot access tmp sth No such file or dire
  • 在 php 中运行 windows 命令

    是否可以从 php 运行 Windows 命令行代码 我的Windows命令行代码是
  • Perl system() 调用会终止吗?

    Can a system 打电话可以永远die在 Perl 5 中 换句话说 为了 100 防崩溃 执行以下操作的程序system call 是否需要将其包装成eval block 或者这是完全没有必要的 我在 中没有发现任何提及这种可能性
  • SASS 或 LESS 关键帧百分比循环

    我正在测试一些特殊的东西 我正在尝试在关键帧内循环以动态地将百分比写入其中 我已经用 SASS 测试过类似的东西 但它不起作用 keyframes test for i from 0 through 100 i do special stu
  • 系统虚拟化:了解 IO 虚拟化和虚拟机管理程序的作用 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想对I O虚拟化有一个正确的理解 上下文是纯 全虚拟化 而不是半虚拟化 我的理解是 虚拟机管理程序虚拟化硬件并向每个沙盒应用程序提供虚拟资源 每个沙
  • 更少的 css 编译器。无法使用变暗属性

    我正在开发一个项目 使用 LESS 作为我的 CSS 编译器 我已经有一个完全工作的循环 可以正确设置背景颜色 我的问题是这样的 使用我当前的代码 当我尝试使用 darken 属性时 编译结果是这样的 SyntaxError 错误评估函数d
  • 如何在流体宽度容器中将左侧、中间和右侧的三个按钮放置在同一行?

    我在用着LESS在 Twitter Bootstrap 环境中 但我会直接接受CSS也有答案 Fluid width container Btn1 Btn2 Btn3 另一种宽度 Fluid width container Btn1
  • 在 Ruby 中获取 system() 调用的输出

    如果我使用调用命令内核 系统 http ruby doc org core 2 2 0 Kernel html method i system在 Ruby 中 如何获取其输出 system ls 我想扩展和澄清混沌的答案 https sta
  • 在 less 中为 twitter bootstrap 的所有选择器添加前缀

    我想开始学习 Twitter Bootstrap 并将其合并到我的网站中 从表单元素开始 但如果我按原样包含它 它会破坏网站的其余部分 我想为所有选择器添加前缀 以便我可以逐渐添加引导样式的内容 如下所示 div class bootstr

随机推荐

  • 【满分】【华为OD机试真题2023B卷 JAVA&JS】流水线

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 流水线 知识点数组队列编程基础 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 一个工厂有m条流水线 来并行完成n个独立的作业 该工厂设置了一个调度系统 在安排作业时
  • aso优化师是什么_aso是什么意思 aso优化师是啥

    aso是什么意思 aso优化师是啥 年已过完 要收心工作学习了 今天李鑫自媒体就从头过滤一下aso方面的知识 用文字总结表述出来 加深自己理解的同时也帮助一些新手小伙伴了解aso aso是什么意思 ASO是App store Optimiz
  • element 的 this.$message( ) 消息提示实现

    在vue项目中 直接通过js代码 this message 就可以调出消息提示组件 这是如何实现的呢 主要分为以下几步 1 用 Vue extend 创建组件的模板 构造函数 2 创建一个函数 在函数内部 实例化组件并进行挂载到相应元素上
  • 【开发记录01】开发环境副本/页的导入&带用户权限管理系统

    在蒋老师的指导下大概了解了 1 开发环境的数据导入 导出 共享组件的同步 因为应用程序277是应用程序100的子程序 所以共享组件必须和100保持一致 但是会出现一个小问题 在APEX开发过程中同时打开两个不同的应用程序 但是编辑过程中经常
  • CVE-2017-12149

    春秋云镜 CVE 2017 12149 JBoss反序列化漏洞 靶标介绍 2017年8月30日 厂商Redhat发布了一个JBOSSAS 5 x 的反序列化远程代码执行漏洞通告 该漏洞位于JBoss的HttpInvoker组件中的 Read
  • 【教程】Github快速学习

    教程 Github快速学习 备注 一 Git基础 1 安装 2 git原理 3 基本配置 4 Gitignore 二 Git分支 1 基础命令 三 学习Github Github Docs官方文档 gt Github漫游指南 gt 开源指北
  • 毕业设计-基于大数据技术的旅游推荐系统-python

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • 大数据常用采集工具

    1 Flume Flume作为Hadoop的组件 是由Cloudera专门研发的分布式日志收集系统 尤其近几年随着Flume的不断完善 用户在开发过程中使用的便利性得到很大的改善 Flume现已成为Apache Top项目之一 Flume提
  • [转]一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)

    一文读懂PID控制算法 抛弃公式 从原理上真正理解PID控制 PID控制应该算是应用非常广泛的控制算法了 小到控制一个元件的温度 大到控制无人机的飞行姿态和飞行速度等等 都可以使用PID控制 这里我们从原理上来理解PID控制 PID pro
  • AcWing 1603. 整数集合划分

    给定一个包含 N 个正整数的集合 请你将它们划分为两个不相交的集合 A1 和 A2 其中 A1 包含 n1 个元素 A2 包含 n2 个元素 用 S1 表示集合 A1 内所有元素之和 S2 表示集合 A2 内所有元素之和 请你妥善划分 使得
  • 前端技术栈

    https juejin cn post 7036581158670303240 做了一份前端面试复习计划 保熟 掘金 1 Vue和React的区别 Vue和React的比较 布里渊区 CSDN博客 2 CI CD 做了哪些实践 什么是 C
  • LASlib 读写点云

    一 参考链接 1 LASlib LAStools 2 LASlib库将PCL库点云类型数据转换为las格式保存 3 las数据转 pcd并显示 las格式详解 1 孙爱怡 王健 LAS格式的解析与转换 J 全球定位系统 2016 41 02
  • 分布式搜索elasticsearch高级配置之(二)------线程池设置

    原文 http blog csdn net laigood article details 7943630 一个Elasticsearch节点会有多个线程池 但重要的是下面四个 索引 index 主要是索引数据和删除数据操作 默认是cach
  • Tensorrt下的Yolox部署

    这里写目录标题 一 Ubuntu系统的安装与显卡驱动安装 二 Tensorrt的安装 三 YOLOX的安装 四 torch2trt的安装 五 engine文件的准备 根据设备修改源文件 引擎生成 六 运行demo 先改一下CMakeList
  • 终于搞懂了,用大白话给你解释Zookeeper的选举机制,包教会

    号外号外 死磕 Java 并发编程 系列连载中 大家可以关注一波 死磕 Java 并发编程05 阿里面试失败后 一气之下我图解了Java中18把锁 死磕 Java 并发编程04 说说Java Atomic 原子类的实现原理 死磕 Java
  • Android导出aar时嵌套引用的那些坑

    http www jianshu com p 7a532de0b111 最近写了个Android SDK工程 在代码 测试统统完成后 居然在导出的一步折腾了两三天 在此总结下查找资料的过程和结果 引以借鉴 首先 这次趟坑解决了以下问题 导出
  • 替换word中手动换行(软回车)为段落标记(硬回车)

    在字处理软件中 由Enter键按下去导致一行文字换行的叫硬回车 程序自动换行的叫做软回车 软回车是用 Shift Enter 产生的 它换行 但是并不换段 即前后两段文字在 Word 中属于同一 段 word中遇到网页粘贴过来的内容会有大量
  • Unity背景移动特效

    每日一句 嘴角上扬的时候 任何事物都变得可爱起来了 第一步 确保所要滚动的图像 Wrap Made Repeat 第二步 画布下滚动图像使用 Raw Image组件 可以访问UV 第三步 创建脚本ScrollControl挂载在滚动图像上
  • 增强型pmos电路符号_MOS管:管脚判定与符号画法

    MOS管是我们在电路设计中经常用的一种无源器件 下面介绍下MOS管在原理图 PCB以及实物PCBA上如何辨别其各个管脚 方便调试 管脚判定 1 MOS管GSD在原理图和PCB上怎样判别 G极 gate 栅极 不用说比较好认 封装上左下角为G
  • 【EMC笔试题】N个整数中找出三个数,使其和的绝对值最小

    题目描述 给定包含N个数的无序数组S 可能包含负数 0 正数 求三个数A B C 使其和的绝对值最小 例如 S 9 0 1 3 6 A 9 B 3 C 6 MIN 0 算法解析 解法一 枚举3个数 O N N N 解法二 对S排序后枚举其中