- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
所以这个问题是在测验中提出的,问题是这样的:
给定一个数组 'a',其元素范围为 1-106 并且数组的大小最大为 105 现在我们被要求找到与原始数组具有相同“度数”的子数组数。数组的度定义为数组中最大出现元素的频率。多个元素可以具有相同的频率。
我被这个问题困了将近一个小时,但想不出任何解决方案。我该如何解决?
first-input
1,2,2,3,1
first-output 2
second-input
1,1,2,1,2,2
second-output 4
最佳答案
出现频率最高的元素称为模式;此问题将度数 定义为频率计数。你的任务是:
确定所有模式值。对于每个模式值,找到该值的索引范围。例如,在数组中
[1, 1, 2, 1, 3, 3, 2, 4, 2, 4, 5, 5, 5]
你有阶数为 3 的三种模式 (1 2 5)。索引范围是
1 - 0:3
2 - 2:8
5 - 10:12
您需要计算至少包含这三个范围之一的所有索引范围(子数组)。
我对这个示例进行了调整,使其包含两种基本情况:重叠的模式和不重叠的模式。请注意,包含是一个有争议的问题:如果您有一个数组,其中一种模式的范围包含另一种模式:
[0, 1, 1, 1, 0, 0]
您可以完全忽略外部数组:任何包含 0
的子数组也将包含 1
。
分析
子数组由两个数字定义,起始索引和结束索引。由于我们必须有 0 <= start <= end <= len(array),这就是数组边界之间的“握手”问题。我们有 N(N+1)/2 个可能的子数组。
对于 10**5 个元素,您可以从这里暴力解决问题:对于每对索引,检查该范围是否包含任何模式范围。但是,您可以通过区间识别轻松地减少它。
算法
从左到右步进模式范围。首先,计算包含第一个模式范围 [0:3] 的所有子范围。只有 1 个可能的开始 [0] 和 10 个可能的结束 [3:12];那是 10 个子数组。
现在移至第二个模式范围 [2:8]。您需要计算包含它的子数组,但排除您已经计算过的子数组。由于存在重叠,您需要一个晚于 0 的起点,或一个在 3 之前的终点。第二个子句在给定范围内是不可能的。
因此,您考虑开始 [1:2]、结束 [8:12]。那是 2 * 5 个子数组。
对于第三个范围 [10:12(无重叠),您需要一个不包含任何其他子范围的起点。这意味着任何起始点 [3:10] 都可以。由于只有一个可能的端点,因此您有 8*1 个或 8 个以上的子数组。
你能把它变成正式的东西吗?
关于arrays - 与数组相同的 'degree' 子数组的个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45640798/
我在使用正则表达式在 javascript 中将 DMS 转换为 DD 时遇到问题。我从 geoserver 获取了这段代码,但它似乎不起作用。我希望它能够将我所有的测试用例转换为正确或非常接近的答案
Canvas 中旋转方法的文档指出度数参数是“旋转量,以度为单位”。但是,根据我的经验,这是一种误导。例如,如果我在位图处于标准直立方向(即 theta = 0,即 12:00)时调用 rotate(
我和其他人一样喜欢弧度,通常更喜欢使用弧度而不是度数,但为什么我们在编程中使用弧度? 要将某物旋转 180 度,您需要将其旋转 3.14159265... .当然,大多数语言都有某种形式的 pi 常数
我有一个 N x 2 的整数表,称为 games[ , ]。节点/边表转换为图形: net edges g ecount(g) 7 > degree(g, 103, mode="out") 4
我使用以下方法创建了一个有向图: public static DirectedGraph directedGraph = new DefaultDirectedGraph(DefaultEdge.cl
我想用递归来解决一道面试题: "Given an image represented by an NxN matrix, where each pixel in the image is 4 byte
我可以使用哪些现成可用的算法来对 Twitter 进行数据挖掘,以找出 Twitter 上两个人之间的分离程度。 当社交图不断变化和更新时,它如何变化。 然后,是否有任何我可以使用的 Twitter
所以这个问题是在测验中提出的,问题是这样的: 给定一个数组 'a',其元素范围为 1-106 并且数组的大小最大为 105 现在我们被要求找到与原始数组具有相同“度数”的子数组数。数组的度定义为数组中
我不知道为什么,但我无法在 fillText 中使用“度”符号 (°)。我尝试了所有方法:ALT+248、ALT+0176、°、从网络复制/粘贴...我得到的只是什么都没有或°。在代码或 HTML 的
我想检测 360 度视频我想知道视频格式是否为 360 度,并据此管理播放器是否支持 360 度那么有人可以帮忙吗? 最佳答案 360video/VR 标准似乎仍在不断变化。这篇文章,http://l
我正在使用 BeautifulSoup 从网页中抓取数据。我想将网站数据与 .txt 文档中的文本进行比较。但是,我似乎遇到了编码问题。 该网站有文字“heat oven to 400°”,该文字在“
我正在开发一个小型室内导航应用程序,我在其中使用陀螺仪和指南针来确定设备方向。我使用陀螺仪来平滑罗盘数据。我的传感器融合如下所示。这是我的 motionHandler,一切都在这里发生。 // Lis
我正在尝试使用指南针移动机器人。我们使用指南针让机器人沿直线移动,它使用 2 个轮子,它们的移动方式略有不同。 所以我们设置一个0到359之间的值作为方向,然后检查当前的方向,计算误差并修复它。像错误
B-Tree Definition 他们在以下方面使用“订单”一词: According to Knuth's definition, a B-tree of order m is a tree wh
我的 iPhone 应用程序在模拟器中旋转得很好,但当我将其部署在物理设备上时,旋转非常非常敏感。如何解决此问题并确保屏幕仅在形成 90 度角时旋转? 最佳答案 我建议手动监视加速度计以了解您想要旋转
我想在天气预报中添加“度”符号,即 45 摄氏度。如何在字符串中添加度符号以包含该 UILabel? 如果有人知道,请分享给我。 谢谢。 最佳答案 Shift-选项-8? 关于iPhone:如何在 U
这个问题可能与主观问题相关,但这并不是一个真正的问题。 当你开发网站时,有几点你必须了解:XSS攻击、SQL注入(inject)等。确保所有潜在攻击的安全可能非常非常困难(并且需要很长时间进行编码)。
我有一个具有整数 ID 的实体表,我们将其称为实体。在另一个表中,我通过“从”、“到”列以及它们之间的关系类型(我们将此表称为“关系”)来在这些实体之间建立单向关系。实体可能是“双向”的,具有两个相应
我的计算机上有一张图像,其尺寸为 width=1932 和 height=2576。它是用智能手机制作的,并使用“jpeg”格式。 如果我使用我喜欢的任何工具打开图像,它会正确显示。 我尝试用pyth
我正在运行 Ruby on Rails 3.1。我想通过应用一些条件来急切加载“二级”关联对象,但我遇到了麻烦。 看来我已经解决了part of my issue通过使用: article_categ
我是一名优秀的程序员,十分优秀!