C++ 算法在数组中查找“最大差异”

2023-12-25

我正在询问您对这个问题的想法:

I have one array A, with N elements of type double (or alternatively integer). I would like to find an algorithm with complexity less than O(N2) to find:

    max A[i] - A[j]

对于 1 abs()。我想到:

  • 动态规划
  • 二分法,分而治之
  • 对跟踪索引进行排序后进行一些处理

您有什么意见或想法吗?您能否指出一些好的参考资料来训练或取得进展以解决此类算法问题?


对阵列进行三遍扫描。首先从j=2向上,填充辅助数组a with minimal到目前为止的元素。然后从上往下扫i=n-1向下,填充(也是从上到下)另一个辅助数组,b, with maximal到目前为止的元素(从顶部)。现在扫描两个辅助数组,寻找最大差异b[i]-a[i].

这就是答案。O(n)总共。你可以说这是一种动态规划算法。

edit:

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

C++ 算法在数组中查找“最大差异” 的相关文章

  • 迭代变量并查找特定类型实例的技术

    我想迭代进程中内存中的变量 通过插件动态加载 并查找特定类型的实例 以前我可以找到特定类型 或内存中的所有类型 我可以创建类型的实例 我可以获取作为不同类型的字段包含的实例 但我无论如何都不知道只是 搜索 特定类型的实例 一种方法是使用 W
  • 以编程方式检查页面是否需要基于 web.config 设置进行身份验证

    我想知道是否有一种方法可以检查页面是否需要基于 web config 设置进行身份验证 基本上如果有这样的节点
  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • C++:重写已弃用的虚拟方法时出现弃用警告

    我有一个纯虚拟类 它有一个纯虚拟方法 应该是const 但不幸的是不是 该接口位于库中 并且该类由单独项目中的其他几个类继承 我正在尝试使用这个方法const不会破坏兼容性 至少在一段时间内 但我找不到在非常量方法重载时产生警告的方法 以下
  • 如何使用recv()检测客户端是否仍然连接(并且没有挂起)?

    我写了一个多客户端服务器程序C on SuSE Linux 企业服务器 12 3 x86 64 我为每个客户端使用一个线程来接收数据 我的问题是 我使用一个终端来运行服务器 并使用其他几个终端来运行服务器telnet到我的服务器 作为客户端
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • 将名称字符串编码为唯一的数字

    我有一大堆名字 数以百万计 他们每个人都有一个名字 一个可选的中间名和一个姓氏 我需要将这些名称编码为唯一代表这些名称的数字 编码应该是一对一的 即一个名称只能与一个数字相关联 一个数字只能与一个名称相关联 对此进行编码的明智方法是什么 我
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 将数据打印到文件

    我已经超载了 lt lt 运算符 使其写入文件并写入控制台 我已经为同一个函数创建了 8 个线程 并且我想输出 hello hi 如果我在无限循环中运行这个线程例程 文件中的o p是 hello hi hello hi hello hi e
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • strcmp 给出分段错误[重复]

    这个问题在这里已经有答案了 这是我的代码给出分段错误 include
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 我在在线程序挑战编译器中遇到演示错误

    include
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在

随机推荐

  • 运行 Quartz.NET 嵌入式或作为 Windows 服务的优缺点

    我想将quartz调度添加到ASP NET应用程序中 它将用于发送排队的电子邮件 将quartz net 作为 Windows 服务运行与嵌入式相比有何优缺点 我主要关心的是嵌入模式下的 Quartz NET 如何处理 IIS 中可变数量的
  • VSCode - 保存时禁用所有自动格式化

    我正在编辑别人的代码 我只想更改 9000 行文件中的 1 行 但每次保存时 VS Code 都会格式化整个文件并删除所有尾随空格 这是一个禁忌 因为当我把它推上去时 审阅者将不知道该看哪一行 我尝试禁用 prettier 将所有文件添加到
  • iPhone + Drupal + JSON RPC 服务器问题

    我不知道如何使用 Obj C 发布 JSON RPC 请求 谁能帮我 到目前为止我有 responseData NSMutableData data retain NSMutableURLRequest request NSMutableU
  • 使用 getNodeSet 解析 XML - 识别缺失的标签

    我正在解析 XML 文件getNodeSet 假设我有一个来自书店的 XML 文件 其中列出了 4 本书 但其中一本书缺少 作者 标签 如果我使用以下方法解析 XML 中的标签 authors data nodes 2 lt getNode
  • android edittext的最小值和最大值

    我正在开发一个android应用程序 实际上我需要为编辑文本条目设置最小值和最大值我的最小值是18 最大值是65 我做了这个的确切代码 package com test import android text InputFilter imp
  • CSS 按钮在 Google Chrome 中不起作用?

    我正在为一家电影公司的网站制作一个主页 它有一个带有悬停效果的 CSS 按钮 一旦准备好就会打开一个灯箱 目前我只是将其设置为 href 作为一个占位符 直到我准备好实现灯箱 还有一个向下箭头的小图像 链接设置为尚未出现在页面上的锚点 这两
  • ios7 UIWebView Youtube 视频

    我有一个 UIWebView 子类 用来播放 youtube 和本地视频 在iOS6下完美运行 在升级到 iOS7 的过程中 我遇到了一个问题 我真的不知道从哪里开始 虽然子类似乎仍然可以在 iOS7 模拟器上播放 youtube 和本地视
  • 在通用方法中将值转换为 T

    我有一个破旧的属性映射的界面 interface IPropertyMap bool Exists string key int GetInt string key string GetString string key etc 我想创建一
  • 有没有办法检测 Facebook Javascript SDK 是否加载成功?

    我使用 Facebook 作为我网站的会员系统 它使用代码生成登录控件 允许用户通过 Facebook 帐户登录 如果他们已经是会员 则基本上只需单击一下 如果不是会员 则只需单击 2 次 用于授予权限 但我遇到了问题 反馈表明登录按钮并不
  • 在 Eclipse IDE 中恢复已删除的文件

    两天前 我在 Eclipse IDE 中删除了五个 Java 文件 现在我需要它们 我试图从当地历史中恢复它们 我只恢复了其中两个 当我右键单击其他文件 然后单击从本地历史记录恢复时 收到错误消息No additional members
  • 处理大文件的最佳 Python Zip 模块是什么?

    编辑 特别是压缩和提取速度 有什么建议么 Thanks 所以我制作了一个随机的大压缩文件 ls l zip rw r r 1 aleax 5000 115749854 Nov 18 19 16 large zip unzip l large
  • ASP.NET MVC 帐户控制器使用指南?

    我正在查看 MVC 帐户控制器 它似乎来自 ASP NET Webforms 有没有关于如何使用它的好的背景信息 您可以将其映射到用户数据库表还是最好进行自己的用户管理 如何在 MVC 中使用它来限制登录用户可以查看的页面 您必须自己完成所
  • 没有可用的缓冲区空间(已达到最大连接?)表单 Postgres EDB 驱动程序

    我们在通过 java 应用程序连接到数据库时遇到异常 堆栈跟踪如下 com edb util PSQLException The connection attempt failed at com edb core v3 Connection
  • 如何使用 Windows 任务计划程序安全地存储每天运行的脚本的密码?

    我编写了一个PowerShell脚本来执行一些操作 操作完成后 我希望脚本使用以下命令发送邮件Send MailMessage cmdlet 为此 我使用了谷歌的应用程序密码功能 但我对将应用程序密码以纯文本形式存储在脚本本身中没有信心 我
  • 了解 Firebase 云功能中 Firebase 存储中存储的视频的持续时间的最简单方法是什么?

    我有一个基于触发器的云函数 应该可以找到上传到 Firebase Storage 的视频的持续时间 我尝试使用以下 npm 模块 get video duration https www npmjs com package get vide
  • 这是解析 XML 的低效方法吗?

    我可能担心错误的优化 但我有一个挥之不去的想法 它一遍又一遍地解析 xml 树 也许我在某个地方读过它 不记得了 无论如何 这就是我正在做的事情 using System using System Collections Generic u
  • 在奏鸣曲管理中隐藏下载按钮

    我想从某些自定义实体中隐藏 Sonata Admin 上的 下载 按钮 如何隐藏 删除它 如果我覆盖base list html twig并从 table footer 中删除下载按钮 它会消失所有实体列表 有什么办法可以将其隐藏在 Adm
  • GitHub 操作的输出为空

    我正在创建我的第一个 GitHub 操作 但我不明白为什么输出为空 动作 yml name Run Endtest functional tests description Register a deployment event with
  • 如何在 cirros OS 中安装软件包

    如何在 cirros 镜像中安装软件包 我在 devstack 安装附带的 cirros 映像中找不到任何可用的安装程序 正如 Harikrishnan 评论的那样 cirros 不包含包管理器 Cirros 主要用于验证云是否正常工作 虚
  • C++ 算法在数组中查找“最大差异”

    我正在询问您对这个问题的想法 I have one array A with N elements of type double or alternatively integer I would like to find an algori