请达人分析一个小算法时间复杂度

JohnsonElizeee JohnsonElizeee 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一个无序数组,0到n-1,随机取一个替换另外一个,如{0,3,2,1} ==> {0,3,2,3},这就有一个重复的数了:3
要求求出这个重复数,要求TC为O(N)。
帮忙分析下面这个,时间复杂度是多少?详细点哦:)
当然更希望给出O(N)的正解:)


#include <stdio.h>

int duplicated(int a[], int N)
{
int i = 0, ai;
while(i<N) {
ai = a[i];
if(ai == i)
i++;
else if(ai != a[ai]) {
a[i] ^= a[ai];
a[ai] ^= a[i];
a[i] ^= a[ai];
}
else
return a[i];
}
return -1;
}

int main()
{
int ary[] = {1,6,2,4,3,7,5,3};
int d = duplicated(ary, 8);
printf("d=%d\n", d);
return 0;
}
...全文

相关推荐

Python算法特点.docx#资源达人分享计划#

输出项(Output):算法至少有一个输出,表示对输入数据处理的结果。Python函数的返回值就是算法的输出,用于提供计算或处理后的信息。5.

DB实践

SCAN算法深度解析:如何利用结构相似性精准识别网络中的社区、枢纽与噪声

本文深度解析SCAN算法如何利用结构相似性精准识别网络中的社区、枢纽与噪声。通过详细介绍算法原理、关键参数(ε-邻域和μ-核心点)及Python实现,展示其在大规模网络分析中的高效性。文章还探讨了SCAN在生物网络和金融风控等领域的实际应用,并指出其局限性与改进方向。

weixin_30319153

从海豚家族到算法评测:Dolphin社交网络数据集在社区发现算法中的实战应用与评估

本文探讨了Dolphin社交网络数据集在社区发现算法中的实战应用与评估。作为经典的基准数据集,Dolphin数据集以其清晰的社区结构和真实社交互动数据,成为验证算法有效性的黄金标准。文章详细介绍了如何利用该数据集进行算法评测,包括主流评估指标对比、典型算法实战表现以及深层价值挖掘,为研究者和开发者提供了系统化的实验设计指南。

ByteWizardry

从LPA到SLPA:标签传播算法在复杂网络社区发现中的演进与实践

本文深入探讨了标签传播算法(LPA)及其改进版本SLPA在复杂网络社区发现中的应用与演进。从LPA的基础原理到SLPA的重叠社区发现能力,文章详细分析了算法的优缺点、改进方向及实战经验,为开发者提供了从算法选型到参数调优的全面指导。

董超华

算法设计与分析期末试题考试版 .pdf打包整理.zip

【标签】:“算法 #资源达人分享计划#”标签“算法”明确了这个压缩包的内容侧重于算法领域,而“#资源达人分享计划#”则可能表示这是一个社区共享的学习资源,由某个或某些热心人士整理并分享,旨在促进知识的传播和学习交流

大黄鸭duck.
评论 6
收藏 已收藏
分享
返回顶部