这是悦乐书的第222次更新,第235篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第89题(顺位题号是414).给定非空的整数数组,返回此数组中的第三个最大数字.如果不存在,则返回最大数量.时间复杂度必须在O(n)中.例如: 输入:[3,2,1] 输出:1 说明:第三个最大值为1. 输入:[1,2] 输出:2 说明:第三个最大值不存在,因此返回最大值2. 输入:[2,2,3,1] 输出:1 说明:请注意,此处的第三个最大值表示第三个最大不同的数字.值为2的两个数字都…
这是悦乐书的第209次更新,第221篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第77题(顺位题号是367).给定正整数num,写一个函数,如果num是一个完美的正方形,则返回True,否则返回False.例如: 输入:16 输出:true 输入:14 输出:false 注意:不要使用任何内置库函数,例如sqrt. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试. 02 第一种解法 暴力解法…
这是悦乐书的第204次更新,第215篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第71题(顺位题号是326).给定一个整数,写一个函数来确定它是否为3的幂.例如: 输入:27 输出:true 输入:0 输出:false 输入:9 输出:true 输入:45 输出:false 跟进:你可以不使用任何循环/递归吗? 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试. 02 第一种解法 新建一个变量…
这是悦乐书的第214次更新,第227篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第82题(顺位题号是389).给定两个字符串s和t,它们只包含小写字母.字符串t由随机混洗字符串s生成,然后在随机位置再添加一个字母.找到t中添加的字母.例如: 输入:s ="abcd", t ="abcde" 输出:'e' 说明:'e'是添加的字母. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Jav…
这是悦乐书的第200次更新,第210篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第66题(顺位题号是278).您是产品经理,目前领导团队开发新产品.不幸的是,您产品的最新版本未通过质量检查.由于每个版本都是基于以前的版本开发的,因此坏版本之后的所有版本也是坏的. 假设您有n个版本[1,2,...,n]并且您想找出第一个坏的版本,这会导致以下所有版本都不好.您将获得一个API bool isBadVersion(版本),它将返回版本是否错误. 实现一个函数来查找第一…
这是悦乐书的第199次更新,第206篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第62题(顺位题号是257).给定二叉树,返回所有根到叶路径.例如: 输入: 1 / \ 2 3 \ 5 输出:["1-> 2-> 5","1-> 3"] 说明:所有根到叶路径是:1-> 2-> 5, 1-> 3 注意:叶子是没有子节点的节点. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是wi…
这是悦乐书的第207次更新,第219篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第75题(顺位题号是349).给定两个数组,编写一个函数来计算它们的交集.例如: 输入:nums1 = [1,2,2,1],nums2 = [2,2] 输出:[2] 输入:nums1 = [4,9,5],nums2 = [9,4,9,8,4] 输出:[9,4] 注意: 结果中的每个元素都必须是唯一的. 结果可以是任何顺序. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.…
这是悦乐书的第208次更新,第220篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第76题(顺位题号是350).给定两个数组,编写一个函数来计算它们的交集.例如: 输入:nums1 = [1,2,2,1],nums2 = [2,2] 输出:[2,2] 输入:nums1 = [4,9,5],nums2 = [9,4,9,8,4] 输出:[4,9] 注意: 结果中的每个元素应该出现在两个数组中显示的次数. 结果可以是任何顺序. 跟进: 如果给定的数组已经排序怎么办? 你…
这是悦乐书的第178次更新,第180篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第37题(顺位题号是160).编写程序以找到两个单链表交叉的节点.例如: 以下两个链表: A:       a1→a2                            ↘                                 c1→c2→c3                            ↗ B:b1→b2→b3 链表A和链表B在c1处相交. 注意: 如果两个链…
这是悦乐书的第270次更新,第284篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第136题(顺位题号是594).我们定义一个和谐数组是一个数组,其最大值和最小值之间的差值恰好为1.给定一个整数数组,在其所有可能的子序列中找到其最长的和谐子序列的长度.例如: 输入:[1,3,2,2,5,2,3,7] 输出:5 说明:最长的和谐子序列是[3,2,2,2,3]. 注意:输入数组的长度不会超过20,000. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8…