- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要编写一个算法来检查字符串中字符的唯一性。我编写了以下算法:
function unique(s) {
for (var i=0; i<s.length-1; i++) {
for (j=i+1; j<s.length; j++) {
if (s[i] === s[j]) {
return false;
}
}
}
return true;
}
计算最坏情况的操作次数时,公式为
n/2x(n-1)=(n^2-n)/2
和复杂度 O(n)=n^2
。
现在,我可能编写了以下未优化的算法:
function unique(s) {
for (var i=0; i<s.length; i++) {
for (j=0; j<s.length; j++) {
if ((s[i] === s[j]) && (i!==j)) {
return false;
}
}
}
return true;
}
但它给出相同的 0(n)=n^2
。所以我似乎无法根据 0(n)
判断哪种算法更好 - 它是否正确?那么为什么要使用0(n)
呢?什么指标可以表明第一种算法优于第二种算法?
最佳答案
尽管表面上看,您的算法是 O(n),而不是 O(n^2)。
s
是一个字符串,字符限制在 16 位以内。这意味着外层循环将最多执行 65536 次,并且这种最大情况只有在字符串恰好为 65536 个字符长并且每个代码点恰好包含一次时才会发生。
通过这种观察,您可以创建复杂度为 O(1) 的解决方案。只需添加一个初始检查以查看字符串是否超过 65536 个字符,如果是则立即返回 true。如果不是,则使用您的任一算法检查字符串是否重复。
关于javascript - 无法使用复杂性度量定义更好的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40206207/
背景信息:对于国际销售表中的每一行,我需要检索过去特定日期的美元汇率,以便分析人员确定汇率变化的影响关于销售数字。然后,我将使用今天的汇率与过去的汇率之间的差值,并将其乘以销售额来确定影响。 实际问题
是否可以通过切片器值动态选取表中定义的适当 DAX 度量? 源表: +----------------+------------+ | col1 | col2 | +-
我有一个 ViewFlipper在我的主要 Activity View 上。在 onCreate 我实例化添加到 ViewFlipper 的 View 。之后,我将显示的 child 设置为第一个。当
我正在研究句子类别检测问题。每个句子可以属于多个类别例如: "It has great sushi and even better service." True Label: [[ 0. 0.
谁能帮我一起计算F-measure?我知道如何计算召回率和准确率,但不知道对于给定的算法如何计算一个 F-measure 值。 例如,假设我的算法创建了 m 个集群,但我知道相同数据有 n 个集群(由
我对通过宏精度和手动召回计算宏 f1-score 感兴趣。但结果并不相等。代码中 f1 和 f1_new 的最终公式有什么区别? from sklearn.metrics import precisi
我有一张记录了一些人体重的表格: Year Person Weight 2010 Mike 75 2010 Laura 60 2011 Mike 80 201
df分为训练数据帧和测试数据帧。训练数据帧分为训练数据帧和测试数据帧。因变量Y是二进制(因子),值为 0 和 1。我试图用此代码(神经网络,插入符号包)预测概率: library(caret) mod
我想使用 Hausdorff 距离作为训练指标,但我刚刚找到了 Weighted_Hausdorff_loss并将其用作医学图像分割的指标。 import math import numpy as n
我有一段时间没有使用 R,所以也许我只是不习惯它,但是..我在 R 中有一个表,有两个列,第一个有预测值(值可以是 0 或 1 ),第二个具有实际值(也是 0 或 1)。我需要找到召回率、精度和 f
我正在使用 Collectd 收集系统指标。我正在小范围内收集测量值以获得准确的值。但是我想使用 Statsd 在本地聚合这些值。 Statsd 应该聚合这些值并以更长的时间间隔将它们发送到 libr
我使用SciKit作为一个库来处理分类算法,例如:NB、SVM。 这是一个非常漂亮的binary classification implementation对于“垃圾邮件和HAM”电子邮件:
我正在寻找 MST 启发式算法的严格示例,它是度量旅行商问题的 2 近似算法。 这个算法在网上很容易找到,但我找不到具体的例子。我所说的严格示例是指给定算法返回的解决方案比最佳解决方案差 2 倍的示例
我使用 Data Studio 中的 Case 函数来确定某个值是否高于或低于 6,000 英镑,并根据输出呈现两个数字之一。这两个数字是计算字段。 第一个案例陈述: (大于或小于)- CASE WH
我正在使用 Ganglia + RRDTool为 monitoring a web farm .很多图很清楚,但是当我看到load_one metric , 我 don't have Y-axis l
以下是股票交易数据的简化版本。 StockData = DATATABLE ( "STOCK", STRING, "Date", DATETIME, "Buyer", STRI
我正在尝试将ASP.NET Core 7应用程序中的度量/跟踪发送到Grafana。。这是我的《码头工人》作文文件。。下面是我的收集器配置:。下面是配置OpenTelemeter的服务集合扩展方法。。
我正试图从我的ASP.NET Core 7应用程序向Grafana发送度量/跟踪。。这是我的《码头工人》作文文件。。下面是我的收集器配置:。下面是配置OpenTelemeter的服务集合扩展方法。。首
我是一名优秀的程序员,十分优秀!