最大和连续子数组(面试问题)[重复]

2023-12-27

可能的重复:
找出实数列表中的最大间隔总和。 https://stackoverflow.com/questions/5331040/find-the-maximum-interval-sum-in-a-list-of-real-numbers

今天在 Adob​​e 面试软件工程师职位时,我被问到了以下问题。

Problem给定一个数组arr[1..n]整数。编写一个算法来查找数组中具有最大总和的连续子数组的总和。如果所有数字均为负数,则返回 0。

Example

给定数组arr[1..6] = [ 12, 14, 0, -4, 61, -39 ]

Answer

83 建造用[ 12, 14, 0, -4, 61 ].

我可以想出一个运行的解决方案O(n logn)但我认为这不是很有效率。面试官要求我写一篇O(n)算法。我想不出来。

关于如何编写的任何想法O(n)这个问题的解决方案? 用 C/C++/Java 实现的算法。

提前致谢


您可以使用卡丹算法 http://en.wikipedia.org/wiki/Maximum_subarray_problem其运行时间为 O(n)。

这是算法(无耻地复制自here http://geeksforgeeks.org/?p=576)

Initialize:
    max_so_far = 0
    max_ending_here = 0

Loop for each element of the array
  (a) max_ending_here = max_ending_here + a[i]
  (b) if(max_ending_here < 0)
            max_ending_here = 0
  (c) if(max_so_far < max_ending_here)
            max_so_far = max_ending_here
return max_so_far
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最大和连续子数组(面试问题)[重复] 的相关文章

  • 保存到会话状态的 DataTable 丢失事件处理程序

    我有一个来自强类型数据集的数据表 该数据集在 TableNewRow 事件上有一个事件处理程序 用于初始化一些日期字段 当我将此表保存到会话状态时 事件处理程序会正常触发 直到表被序列化 在后续请求中 当我从会话状态检索表时 事件处理程序不
  • 在硬件不足的情况下进行编码

    我目前正在使用 C 中的 SIMD 指令进行编码 并尝试使用 IDE 在实时编码时显示错误 拼写错误等 问题是 我使用的是 AVX512 指令 我的硬件不支持这些指令 只有我用于编译的服务器支持 有没有一种方法可以在 IDE 中进行错误检查
  • 使用ThreadPoolExecutor,allowCoreThreadTimeOut和零核心线程有什么区别?

    阅读以下文档线程池执行器 https docs oracle com javase 7 docs api java util concurrent ThreadPoolExecutor html 我很困惑以下示例用法之间的区别 零个核心线程
  • 什么是对象发布以及为什么我们需要它?

    在一次 Java 开发人员面试中 我被问到一个问题 什么是对象发布以及为什么我们需要它 我不确定我知道正确的答案 我认为对象发布是指将对象 变量 状态放入堆内存中 线程之间共享对象 变量 需要它 我对吗 如果我错了 请纠正我 我一直在搜索
  • java.util.Prefs 抛出 BackingStoreException - 为什么?

    我有一个系统可以缓存启动时 SOAP 调用的微小 简单结果 我需要实例能够在启动时重新加载其缓存 以防 SOAP 服务失效 并且还需要处理使用此缓存文件的多个实例的可能性 我选择使用java util prefs但是 Java 的内置自动同
  • 底层连接已关闭:接收时发生意外错误

    我来这里是因为我在通过 ftp 协议下载一些文件时遇到问题 这很奇怪 因为它偶尔会发生 甚至对于同一个文件也是如此 只是一个精确度 我正在下载非常大的文件 从 500 Mo 到 30Go 以下是我的函数返回的异常类型 抱歉 这是法语 Sys
  • 如何使用 PostSharp 拦截基类上的方法调用?

    我想提供一个实现System Object ToString使用 PostSharp 到各种类 我创建了一个继承自的方面MethodInterceptionAspect但是OnInvoke调用时不会调用方法EchoDto ToString发
  • Gradle:找不到受信任的证书

    我正在尝试使用 Gradle 在 Ubuntu 服务器上构建我的 Android 项目 在我的 Windows 10 PC 上使用 Android Studio 构建工作正常 但使用 gradlew build or gradlew cle
  • 在异步方法中显示错误消息的更好方法

    事实上我们不能使用await关键字在catch块使得在 WinRT 中显示来自异步方法的错误消息变得非常尴尬 因为MessageDialogAPI 是异步的 理想情况下我希望能够这样写 private async Task DoSometh
  • 使用 int 作为 java.util.Dictionary 的类型参数

    当我尝试这样声明字典时 private Dictionary
  • 识别鼠标移动的算法

    我想知道是否有任何研究 算法可以指定鼠标在识别 等字符时的偏差量使用鼠标绘制 某种光学字符识别 但可能是一个更简单的版本 是否有某种算法可以让我说用户绘制的问号确实是一个问号 而不是其他具有一定准确性的东西 就像 Windows 平板电脑软
  • Android:从http获取文件并存储在SDCard中

    我已经遵循了许多类似问题中所写的内容 但仍然存在问题 从jsp我得到一个pdf 如果我转到URL 浏览器会自动打开pdf jsp页面会执行类似以下操作 Gets the pdf from the database BufferedInput
  • EF5、SQL Server、经度和纬度

    我发现在 SQL Server 中存储纬度和经度的最佳类型是十进制 9 6 参考文献 1 在 SQL 数据库中存储纬度和经度数据时应使用什么数据类型 https stackoverflow com questions 1196415 wha
  • 非静态类中的静态方法有什么意义?

    我无法理解以下代码的潜在错误 class myClass public void print string mess Console WriteLine mess class myOtherClass public static void
  • 在memcpy缓冲区UB上使用reinterpret_cast吗?

    给定代码 struct A auto obj new A std vector
  • XStream:xstream 1.3.1 中具有属性和文本节点的节点?

    我想使用 XStream 将对象序列化为这种形式的 XML
  • C++ 中的无符号双精度?

    为什么 C 不支持无符号双精度语法 因为典型的浮点格式不支持无符号数 例如 参见此 IEEE 754 格式列表 http en wikipedia org wiki IEEE 754 2008 Formats 添加通用硬件不支持的数字格式只
  • 为什么 Windows 只允许一个应用程序访问网络摄像头? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我一直在尝试用 C 制作一个示例网络摄像头应用程序 我发现该应用程序无法同时运行 Skype 或 Oovoo 或任何其他应用程序运行 反之亦然 为什么
  • @Transactional 方法调用另一个没有 @Transactional 注解的方法?

    我在 Service 类中看到了一个方法 该方法被标记为 Transactional 但它还调用同一类中的一些其他方法 这些方法未标记为 Transactional 这是否意味着对单独方法的调用导致应用程序打开与数据库的单独连接或挂起父事务
  • 整个程序可以是不可变的吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我熟悉不可变性并且可以设计不可变类 但我主要拥有学术知识 缺乏实践经验 请参考上面的链接图片 尚不允许嵌入 从下往上看 学生需要新地址

随机推荐

  • 应用黑白不透明度后生成颜色

    我什至不知道如何描述我想要什么 但就是这样 假设我有 3 个文本框 我在第一个文本框中输入一些颜色十六进制代码 我想在其顶部应用黑色图层 并将不透明度设置为 50 并在第二个文本框中获取结果颜色 同样的事情 但第三个是白色的 让我解释一下
  • 使用 Querydsl 在 Spring 中仅选择特定列?

    假设我有一个名为Employee有 70 列 我如何实现查询SELECT id from t employee in spring querydsl无需修改此代码中的大量代码 BooleanExpression paramEmployee
  • 如何将两个图像视图从中心动画到彼此相对?

    我想将两个图像从屏幕中间动画化为彼此相对 就像下图一样 到目前为止我所做的一切现在我只能从左到右为一张图像制作动画 反之亦然 但现在我想从中间为它们制作动画 这是我的代码 b1 Button findViewById R id button
  • 如何将 React-native-google-mobile-ads 与 Expo 和 Expo Go 结合使用?

    如何将 React native google mobile ads 与 Expo 和 Expo Go 结合使用 例如横幅广告 非常感谢世博会背景下的一个最小例子 截至 2022 年 5 月 所有在线 Google 文档均引用 expo a
  • SQL中将一个表的所有值插入到另一个表中

    我正在尝试将一个表的所有值插入到另一个表中 但是插入语句接受值 但我希望它接受来自initial Table 的 select 这可能吗 insert 语句实际上有一个语法可以做到这一点 如果您指定列名称而不是选择 那么会容易得多 INSE
  • 基于语言的安装描述

    众所周知 一旦您在 Joomla 后端安装了扩展 就会显示描述 您可以使用 XML 中的简单描述 也可以使用基于语言的描述 过去我在基于语言的描述方面从未遇到过问题 但这次我遇到了 该扩展是一个管理组件 没有前端文件夹 适用于 Joomla
  • 类型同义词导致类型错误

    作为我之前问题的后续一起使用 makeLenses 类约束和类型同义词 https stackoverflow com questions 30582583 using makelenses class constraints and ty
  • GWT 调用 DOM.getElementById 不会导致 NullPointerException

    我们的应用程序中有一部分可以执行此操作 int x DOM getElementById x getPropertyInt value int y DOM getElementById y getPropertyInt value int
  • 全局符号需要显式的包名称

    全局符号需要显式的包名称吗 为什么会发生这种情况以及可能导致此错误的各种情况是什么 当前面的语句不完整时也可能发生这种情况 use strict sub test test some comment my x perl 现在抱怨以下错误消息
  • 如何基于DataKey在ASP.NET GridView中设置选定行?

    我想要类似于以下伪代码的内容 myGridView SelectedIndex myGridView DataKeys IndexOf mySpecificKey 我已经做了一些智能感知探索 但我还没有找到明显的方法来做到这一点 如果找不到
  • 在 jQuery UI 日期选择器中标记选定的日期

    我正在使用 jQuery UI 的日期选择器 http docs jquery com UI Datepicker 听起来应该可以通过提供一个来标记某些日子beforeShowDay函数 http docs jquery com UI Da
  • MySQL:根据付款计算订阅的剩余天数

    我正在开发一个应用程序 其中我们有三种不同的订阅计划 我们称之为小型 标准 高级 每种计划都有三种不同的长度 30 60 和 90 天 每个用户可以订阅多项服务 我有下表 简化 services id name user services
  • d3 v4 - 拖动“clickDistance”似乎没有任何效果

    我有一个 d3 元素 itemGroup 其中包含其他元素 其中之一是我想订阅其点击事件的文本标签 此外 我希望 itemGroup 可以拖动 如果没有下面的代码 单击事件将按预期触发 使用下面的代码 我得到了我想要的拖动行为 但是 ite
  • borderRadius样式属性在reactjs中不圆化边缘

    table tbody data tbody table 我希望桌子的边缘是圆角的 但是上面的样式根本不起作用 有没有办法做到这一点 根据评论中的讨论 其中一个类似乎覆盖了内联样式 发生这种情况的唯一方法是如果这些类中的任何一个正在使用 i
  • `没有名为'urllib2'的模块 - 我如何在Python中使用它以便我可以发出请求

    Python新手 只是不知道如何使用Python 我想用urllib2 Request拨打电话 我怎样才能做到这一点 例如在 repl 中 我找不到正确的方法 python3 Python 3 7 3 default Apr 3 2019
  • 如何通过 MQL 获取 GCP 计算虚拟机实例的正常运行时间总数和百分比?

    我正在尝试获取单个 GCP 计算虚拟机实例的总正常运行时间 包括重新启动 我看过多篇文章 没有一篇涉及使用 MQL 例如 在过去 24 小时内 如果实例没有运行 1 小时 我预计 mql 查询将返回 23 小时 在下面的快照中 代码片段图表
  • git 删除并重新创建分支

    摘要 重现错误 创建一个分支并检查它 让其他人删除它并创建一个同名的新分支 now do git branch D
  • pdfmake 在带有 webpack 的应用程序中使用

    我只想在 Webpack 中构建一个应用程序 并想集成 pdfmake 不幸的是我遇到了这个问题 我的 web modules 文件夹中有文件 pdfmake js 并将它们与 Var pdfmake require pdfmake 当我打
  • undefined 不是一个函数(评估 '_this._registerEvents()')

    在我删除 src 文件夹以重构后 发生了此错误 我相信这是一个缓存问题 我尝试按照这个gist https gist github com jarretmoses c2e4786fd342b3444f3bc6beff32098d但没有运气
  • 最大和连续子数组(面试问题)[重复]

    这个问题在这里已经有答案了 可能的重复 找出实数列表中的最大间隔总和 https stackoverflow com questions 5331040 find the maximum interval sum in a list of