我是靠谱客的博主 秀丽枕头,最近开发中收集的这篇文章主要介绍【Leetcode算法题 ---- 猜年龄】 一起来打卡学习Leetcode算法题 ---- 猜年龄引言题目解题结语,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Leetcode算法题 ---- 猜年龄

引言

更新一篇算法题,以后博主会开算法题专栏,我们每日一题,一起向大厂前进,加油

题目

美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,
他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。
这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
请你推算一下,他当时到底有多年轻。

解题

public static void main(String[] args){
    for (int i = 1; i < 100; i++) {
        //年龄4位数的筛选
        if (i*i*i > 999 && i*i*i < 10000) {
            for (int j = 1; j < 100; j++) {
                if (j*j*j*j > 99999 && j*j*j*j < 1000000) {
                    String res = i*i*i+""+j*j*j*j;
                    String[] split = res.split("");
                    Integer result = arrayIsReplay(split);
                    if (result == 0) {
                        System.out.println("美国数学家维纳(N.Wiener)的年龄为:"+i);
                    }
                }
            }
        }
    }   
}

/**
* 判断数组是否有重复元素
* @param res 传入的数组
* @return 没有的话返回0,有的话则返回重复的个数
*/
public Integer arrayIsReplay(String[] res) {
    int result = 0;
    for (int i = 0; i < res.length; i++) {
        for (int j = 0; j < i; j++) {
            if (res[j].equals(res[i])) {
                result ++;
                continue;
            }
        }
    }
    return result;
}

控制台输出:

在这里插入图片描述

美国数学家维纳(N.Wiener)的年龄为:18岁

结语

本题目是一个简单的算法题,其中,用到了数组去重,10位数字互不相同,这个简单的算法题,是入阶算法的基础,通过练习大量的基础,巩固自己的算法题解决能力,提高逻辑思维,一起变得越来越好,加油!

最后

以上就是秀丽枕头为你收集整理的【Leetcode算法题 ---- 猜年龄】 一起来打卡学习Leetcode算法题 ---- 猜年龄引言题目解题结语的全部内容,希望文章能够帮你解决【Leetcode算法题 ---- 猜年龄】 一起来打卡学习Leetcode算法题 ---- 猜年龄引言题目解题结语所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部