首页 > 编程语言 >codility算法题:找出不在数组中的最小正整数

codility算法题:找出不在数组中的最小正整数

时间:2023-07-21 12:02:24浏览次数:47  
标签:正整数 int codility solution 算法 new return public out

1. 题目

读题

 

 

 

考查点

 

2. 解法

思路

 

代码逻辑

 

具体实现

解法一:

public class Solution {

public static void main(String[] args) {
System.out.println(solution(new int[]{1, 3, 6, 4, 1, 2}));
System.out.println(solution(new int[]{1, 2, 3}));
System.out.println(solution(new int[]{-1,-3}));
}


public static int solution(int[] A) {
for (int i = 1; i < Integer.MAX_VALUE; i++) {
if (!contain(A, i)) {
return i;
}
}
return -1;
}

public static boolean contain(int[] nums, int n) {
for (int i = 0; i < nums.length; i++) {
if (nums[i] == n) {
return true;
}
}
return false;
}

}

解法二:

public class Solution2 {
public static void main(String[] args) {
System.out.println(solution(new int[]{1, 3, 6, 4, 1, 2}));
System.out.println(solution(new int[]{1, 2, 3}));
System.out.println(solution(new int[]{-1, -3}));
}


public static int solution(int[] A) {
Arrays.sort(A);

int n = A.length;

if (A[n - 1] < 0) {
return 1;
}

int index = 1;
for (int i = 0; i < n; i++) {
if (A[i] <= 0 || (i > 0 && A[i] == A[i - 1])) {
continue;
}
if (A[i] == index) {
index++;
} else {
return index;
}

}
return index;
}

}

3. 总结

标签:正整数,int,codility,solution,算法,new,return,public,out
From: https://www.cnblogs.com/shoshana-kong/p/17570935.html

相关文章

  • codility算法题:猫过桥问题
    1.题目读题  考查点 2.解法思路 代码逻辑 具体实现 publicclassSolutions{publicstaticvoidmain(String[]args){System.out.println(solution(10,newint[]{2,3,4,8},newint[]{2,5}));System.out.println(solution(10,......
  • 请享用美味的快速幂算法-通俗易懂版
    一、算法整体思路第1步按照最直接、最好理解的方式看,2的n次幂是n个2相乘,即有如下公式例如:第2步然而为了节省大量时间,通过简单的思考和严格数学推理,我们不难理解以下结论: 1.偶数幂的情况:通过幂函数运算法则,有2n=(2n/2)2,即有如下等式:例如24......
  • python算法的时间复杂度怎么算
    项目方案:计算列表中元素的平方和1.项目背景在很多应用中,我们需要对一个列表中的元素进行一些计算操作。例如,计算一个列表中所有元素的平方和。这个项目方案就是要实现这样的功能。2.问题定义给定一个列表nums,计算列表中所有元素的平方和。即,对于列表中的每个元素num,计算nu......
  • bellman-ford算法理解
    bellman-ford算法理解从本题谈起再回归到最短路。本题为限制边数的最短路,是这个算法优势领域的题目。为什么它能解决?最外层每循坏一次,就是各点向外走一条边,内层对边的遍历是对所有边进行松弛操作,每次进行该操作时,需要用到备份数组,目的是防止连锁反应,保证每次每个点到起点的距离......
  • LntonCEC算法算力云平台服务通过EasyNTS内网穿透到公网上的具体操作流程
    算法算力云平台的主要特点包括高性能、高可靠性、高可扩展性和低成本。LntonCEC算法算力云平台是一种为用户提供高效、强大的算法计算服务的云计算平台。它可以帮助用户快速、灵活地运行各种复杂的计算模型和算法,包括机器学习、人工智能、大数据分析、图像识别等领域。算法算力云平......
  • 揭秘绿幕抠图算法技术
     绿幕抠图为什么是“绿幕”呢?人眼的感光系统和摄像机的感光芯片采集的色彩中,最常见的就是红、蓝、绿三原色。红色在演员服饰和物体中较为常见,不利于背景分离;绿色则是人体肤色最少的颜色,人眼对绿色最为敏感,而相机也是模仿人眼的设计,CMOS采集信息是按照RGGB,其信号最强、噪波最少......
  • 遗传算法 深度学习
    遗传算法与深度学习1.遗传算法和深度学习的概述遗传算法和深度学习是两种不同的优化算法,它们在解决问题时有着不同的应用场景和方法。遗传算法是一种通过模拟生物进化过程中的自然选择和遗传机制来寻找最优解的优化算法。而深度学习则是一种通过神经网络模型来学习和识别复杂的......
  • 每日算法之四十六:Add Binary(二进制字符创相加)
    二进制字符创相加,通过进位的方式逐位考虑。也可以把相加的过程抽象成一个函数。Giventwobinarystrings,returntheirsum(alsoabinarystring).Forexample,a= "11"b= "1"Return "100".方法一:classSolution{public:stringaddBinary(stringa,string......
  • 每日算法之四十:Insert Interval
    Givenasetof non-overlappingYoumayassumethattheintervalswereinitiallysortedaccordingtotheirstarttimes.Example1:Givenintervals [1,3],[6,9],insertandmerge [2,5] inas [1,5],[6,9].Example2:Given [1,2],[3,5],[6,7],[8,10],[12,16],inser......
  • 上班摸鱼刷算法-Java-hot100-[160]相交链表
    publicclassSolution{publicListNodegetIntersectionNode(ListNodeheadA,ListNodeheadB){if(headA==null||headB==null){returnnull;}ListNodepA=headA;ListNodepB=headB;while(pA......