java经典算法-day13

举报
喵手 发表于 2024/09/30 22:47:49 2024/09/30
【摘要】 哈喽,各位小伙伴们好,我是喵手。一、前言正值金三银四好时节,又到了刷题月。xdm,有空的欢迎一起呀。无论你是挤公交还是坐地铁时间,随时随地皆可刷...你可以不用实操,你只需要看题思考,完后有空coding就好呀。接下来我要开启我的刷题之旅啦,喜欢的小伙伴欢迎点赞关注哦。二、题目描述:题目1:求100之内的素数。题目2:对10个数进行排序。三、思路分析:题1分析:       这题也相对简单,...


哈喽,各位小伙伴们好,我是喵手。

一、前言

正值金三银四好时节,又到了刷题月。xdm,有空的欢迎一起呀。无论你是挤公交还是坐地铁时间,随时随地皆可刷...你可以不用实操,你只需要看题思考,完后有空coding就好呀。接下来我要开启我的刷题之旅啦,喜欢的小伙伴欢迎点赞关注哦。

二、题目描述:

题目1:

求100之内的素数。

题目2:

对10个数进行排序。

三、思路分析:

题1分析:

       这题也相对简单,你只要知道什么是素数即可。而且这题我也曾经讲过啦,不知道你们是否有印象。所以大家也可以回忆一下,看看能否写出来。

素数:素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

你就只需要判断每个数的因子是否存有只有1跟它本身即可,具体的话看我代码实现,你们就鞥明白了。

题2分析:

这题其实比较简单。

当你知道Arrays类中有一个sort()方法,那这题对你而言,就非常so easy;为什么这么说呢?请看,下方使用,其实你只需要传入一个int数组,然后调用.sort()方法即可。

Arrays.sort(int[] a)

这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。

虽然有点投机取巧,但是相对初学者而言,也是很有必要需要懂的。

具体实现请看下方:

四、算法实现:

题1AC代码:

/**
 * 判断是否是质数
 */
public static boolean isZS(int num) {
    //排除1不是质数
    if (num == 1) {
        return false;
    }
    for (int i = 2; i < num - 1; i++) {
        //进行求余;只要余数为0,说明i被整除,该i就是num的一个因子。
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

第二步:定义一个统计质数的方法, 然后将用户所输入的n值进行for循环依次判断,将每次循环的值进行方法调用,判断是否是质数,是质数就进行追加,否则就跳过。

/**
 * 1-n范围内
 */
public static String printZS(int n) {
    //用于统计质数
    String zs = "";
    //循环1-n
    for (int i = 1; i <= n; i++) {
        //true表示是质数
        if (isZS(i)) {
            zs += "," + i;
            continue;
        }
    }
    return zs;
}

题2AC代码:

/**
 * 实现数组排序
 */
public static void sortNum(int[] nums) {
    Arrays.sort(nums);
}

五、总结:

综上,第一题就没啥好说的啊,毕竟跟过我一起刷题的同学就知道,所以我这里就给大家写了一个判断是否为素数的函数,只需要对每个数都进行判断即可。第二道呢,思路就很多了,你可以用冒泡排序或者快排等,我这里就教了你们走了个捷径,直接用了arrays提供的排序,其实底层运用的就是快排法。

如果你有更好的解题思路或者想法,欢迎评论区留言告诉我哦,喵手感激不尽。

六、文末:

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

... ...
学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!

---------------------------------------------------------------------

⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

---------------------------------------------------------------------

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。