算法练习
算法练习
算法练习-day01 判断质数和找出计算完全数
算法练习-day02 统计字符串中字符种类的个数和求两数的最小公倍数
算法练习-day03 小球下落走过的距离和自动判定程序
算法练习-day04 统计字符串中某字符出现的次数
算法练习-day05 反转输出链表
算法练习-day06 字符串法转
算法练习-day07 统计每个月兔子的总数
算法练习-day09 5个数求最值和ASCLL码排序
算法练习-day10 奇偶数分离
算法练习-day11 鸡兔同笼
算法练习-day12 字符串替换
算法练习-day13打印学生成绩和求s=1!+2!+…+10!
算法练习day14-删除排序链表中的重复元素和反转链表
算法练习 day15合并两个有序链表
算法练习-day16删除链表中指定的元素
题目:求数组中未出现的最小正整数
给定一个含n(n>=1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数。
例如,数组{-5,3,2,3}中未出现的最小正整数是1;数组{1,2,3}中未出现的最小正整数是4
思路一
暴力解法,因为返回的数只能是1到n,所以让1到n+1与数组中的数匹配,如果最小的没出现则返回
算法实现
#include <stdio.h>
#include <stdbool.h>
int find(int a[],

文章介绍了如何在给定数组中找出未出现的最小正整数,提供了两种算法实现:一种是暴力匹配的方法,另一种是利用辅助数组进行空间换时间的优化。这两种方法分别通过遍历和标记来确定缺失的数字,并强调了空间换时间思想在解决算法问题中的重要性。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



