这是悦乐书的第249次更新,第262篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第116题(顺位题号是507).我们定义Perfect Number是一个正整数,它等于除了它自己之外的所有正除数之和.现在,给定一个整数n,编写一个函数,当它是一个完美数字时返回true,否则返回false.例如: 输入:28 输出:true 说明:28 = 1 + 2 + 4 + 7 + 14 注意:输入数字n不会超过100,000,000.(1E8) 本次解题使用的开发工具是ec…
这是悦乐书的第311次更新,第332篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第180题(顺位题号是762).给定两个正整数L和R,在[L,R]范围内,计算每个整数的二进制数中1的个数,判断1的个数是否是一个素数.例如,21的二进制数是10101,其中1的个数有3个,3是一个素数.例如: 输入:L = 6,R = 10 输出:4 说明: 6 --> 110(2个1,2是素数) 7 --> 111(3个1,3是素数) 9 --> 1001(2个1,2是素数…
这是悦乐书的第308次更新,第328篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第177题(顺位题号是747).在给定的整数数组中,总有一个最大的元素.查找数组中的最大元素是否至少是数组中每个其他数字的两倍.如果是,则返回最大元素的索引,否则返回-1.例如: 输入:nums = [3,6,1,0] 输出:1 说明:6是最大的整数,对于数组x中的每个其他数字,6是x的两倍多. 值6的索引是1,所以我们返回1. 输入:nums = [1,2,3,4] 输出:-1 说明…
这是悦乐书的第292次更新,第310篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第160题(顺位题号是693).给定正整数,检查它是否具有交替位:即它的二进制数的任意两个相邻位总是具有不同的值.例如: 输入:5 输出:true 说明:5的二进制表示是:101 输入:7 输出:false 说明:7的二进制表示为:111. 输入:11 输出:false 说明:11的二进制表示是:1011. 输入:10 输出:true 说明:10的二进制表示是:1010. 本次解题使用…
这是悦乐书的第250次更新,第263篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第117题(顺位题号是509).Fibonacci数字,通常表示为F(n),形成一个称为Fibonacci序列的序列,这样每个数字是前两个数字的总和,从0和1开始.即,F(0)= 0,F(1)= 1.对于N> 1,F(N)= F(N-1)+ F(N-2).给定N,计算F(N).例如: 输入:2 输出:1 说明:F(2)= F(1)+ F(0)= 1 + 0 = 1. 输入:3 输出:2…
这是悦乐书的第211次更新,第224篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第79题(顺位题号是374).我们正在玩数字游戏. 游戏如下:我从1到n中选择一个数字. 你必须猜测我选择了哪个数字.每次你猜错了,我都会告诉你这个数字是高还是低.您调用预定义的API guess(int num),它返回3个可能的结果(-1,1或0): -1:我的数字较低 1:我的数字更高 0:猜对了! 例如: 输入:n = 10,pick = 6 输出:6 本次解题使用的开发工具是…
这是悦乐书的第200次更新,第209篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第65题(顺位题号是268).给定一个包含n个不同数字的数组,取自0,1,2,...,n,找到数组中缺少的数字.例如: 输入:[3,0,1] 输出:2 输入:[9,6,4,2,3,5,7,0,1] 输出:8 注意:您的算法应该以线性运行时复杂性运行. 你能用恒定的额外空间复杂度来实现吗? 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用…
这是悦乐书的第199次更新,第208篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第64题(顺位题号是263).编写一个程序来检查给定的数字是否是一个丑陋的数字.丑陋的数字是正数,其主要因子仅包括2,3,5.例如: 输入:6 输出:true 说明:6 = 2×3 输入:8 输出:true 说明:8 = 2×2×2 输入:14 输出:false 说明:14并不丑陋,因为它包含另一个因子7. 注意: 1通常被视为丑陋的数字. 输入在32位有符号整数范围内:[ -2^31…
这是悦乐书的第188次更新,第190篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第47题(顺位题号是202).编写算法以确定数字是否"幸福". 幸福数字是由以下过程定义的数字:从任何正整数开始,将数字替换为其数字的平方和,并重复该过程,直到最后数字等于1.这个过程以1结尾的那些数字是幸福的数字.如果陷入无限循环则不是幸福数字.例如: 输入:19 输出:true 说明: 1x1 + 9x9 = 82 8x8 + 2x2 = 68 6x6 + 8x8 = 1…
这是悦乐书的第175次更新,第177篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第34题(顺位题号是136).给定一个非空的整数数组,除了一个元素外,每个元素都会出现两次. 找到那个只出现了一次的元素.例如: 输入:[2,2,1] 输出:1 输入:[4,1,2,1,2] 输出:4 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试. 02 第一种解法 因为已经限定传入的数组不为空,所以此题不需要…