这是悦乐书的第327次更新,第350篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第197题(顺位题号是844).给定两个字符串S和T,如果两个字符串都输入到空文本编辑器中并且相等,则返回true. #表示退格符.例如: 输入:S ="ab#c",T ="ad#c" 输出:true 说明:S和T都变为"ac". 输入:S ="ab ##",T ="c#d#" 输出:true 说…
这是悦乐书的第317次更新,第338篇原创 在开始今天的算法题前,说几句,今天是世界读书日,推荐两本书给大家,<终身成长>和<禅与摩托车维修艺术>,值得好好阅读和反复阅读. 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第186题(顺位题号是796).给定两个字符串A和B,在A上进行移位操作,规则是将A最左边的字符移动到最右边去.例如,如果A ='abcde',那么在A上移位一次后,它将是'bcdea'.当且仅当A在A上移位一定次数后可以变为B时返回True.…
这是悦乐书的第205次更新,第217篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第73题(顺位题号是344).编写一个以字符串作为输入并返回字符串的函数.例如: 输入:"hello" 输出:"olleh" 输入:"A man, a plan, a canal: Panama" 输出:"amanaP: lanac a, nalp a, nam A" 本次解题使用的开发工具是eclipse,jdk使…
这是悦乐书的第289次更新,第307篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第156题(顺位题号是686).给定两个字符串A和B,找到A必须重复的最小次数,使得B是它的子字符串. 如果没有这样的解决方案,返回-1.例如: 输入:A ="abcd",B ="cdabcdab". 输出:3 说明:因为重复A三次("abcdabcdabcd"),B是它的子串; 和B不是A重复两次的子串("abcdabcd&…
这是悦乐书的第273次更新,第288篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第141题(顺位题号是606).构造一个字符串,该字符串由二叉树中的括号和整数组成,并具有前序遍历方式.null节点需要用空括号对"()"表示. 并且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对.例如: 输入:二叉树:[1,2,3,4] 1 / \ 2 3 / 4 输出:"1(2(4))(3)" 说明:原始字符串需要为"1…
这是悦乐书的第256次更新,第269篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第123题(顺位题号是541).给定一个字符串和一个整数k,你需要反转从字符串开头算起的每2k个字符的前k个字符. 如果剩下少于k个字符,则反转所有字符. 如果小于2k但大于等于k个字符,则反转前k个字符,剩下的字符不变.例如: 输入:s ="abcdefg",k = 2 输出:"bacdfeg" 注意: 该字符串仅包含小写的英文字母. 给定字符串的长度和…
这是悦乐书的第316次更新,第337篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第185题(顺位题号是788).如果一个数字经过180度旋转后,变成了一个与原数字不同的数,这样的数被称为好数字.数字中的每一位都必须经过旋转.旋转的规则是:0,1,8这三个数旋转后还是自身,2旋转后变为5,5旋转后变为2,6旋转后变为9,9旋转后变为6,剩下的3,4,7旋转后并不能转成其他数字,是无效的.现在给出正数N,从1到N的好数字一共有多少个?例如: 输入:10 输出:4 说明…
这是悦乐书的第288次更新,第305篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第156题(顺位题号是682).你现在是棒球比赛点记录器.给定一个字符串列表,每个字符串可以是以下4种类型之一: 整数(一轮的得分):直接表示你在这轮中获得的积分数. "+"(一轮的得分):表示你在这一轮得到的分数是最后两个有效回合分数的总和. "D"(一轮得分):表示你在这一轮得到的分数是最后一轮有效回合分数的加倍数据. "C"(一项…
这是悦乐书的第251次更新,第264篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第118题(顺位题号是520).给定一个单词,你需要判断其中大写字母的使用是否正确.当下列情况之一成立时,我们将单词中大写字母的用法定义为正确: 这个单词中的所有字母都是大写字母,如"USA". 这个单词中的所有字母都不是大写字母,如"leetcode". 如果它有多个字母,只有首字母是大写字母,如"Google". 否则,我们定义该单…
这是悦乐书的第248次更新,第261篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第115题(顺位题号是506).根据N名运动员的得分,找到他们的相对等级和得分最高的三个人,他们将获得奖牌:"金牌","银牌"和"铜牌".例如: 输入:[5,4,3,2,1] 输出:["Gold Medal","Silver Medal","Bronze Medal",&quo…
这是悦乐书的第247次更新,第260篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第114题(顺位题号是504).给定一个整数,返回其基数为7的字符串表示.例如: 输入:100 输出:"202" 输入:-7 输出:"-10" 注意:输入范围为[-1e7,1e7]. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试. 02 第一种解法 直接使用包装类Integer的t…
这是悦乐书的第245次更新,第258篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第112题(顺位题号是500).给定一个单词列表,返回可以在美国键盘的一行上使用字母表键入的单词,如下图所示. 例如: 输入:["Hello","Alaska","Dad","Peace"] 输出:["Alaska","Dad"] 注意: 您可以多次使用键盘中的一个字符. 您可…
这是悦乐书的第240次更新,第253篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第107题(顺位题号是476).给定正整数,输出其补码数.补充策略是翻转其二进制表示的位.例如: 输入:5 输出:2 说明:5的二进制表示为101(无前导零位),其补码为010,因此需要输出2. 输入:1 输出:0 说明:1的二进制表示形式为1(无前导零位),其补码为0,因此需要输出0. 注意: 保证给定的整数适合32位有符号整数的范围. 您可以假设整数的二进制表示中没有前导零位. 本…
这是悦乐书的第237次更新,第250篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第104题(顺位题号是461).两个整数之间的汉明距离是相应位不同的位置数.给定两个整数x和y,计算汉明距离. 注意:0≤x,y <2^31. 例如: 输入:x = 1,y = 4 输出:2 说明: 1(0 0 0 1) 4(0 1 0 0)          ↑    ↑ 上述箭头指向相应位不同的位置. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7…
这是悦乐书的第223次更新,第236篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第90题(顺位题号是415).给定两个非负整数num1和num2表示为字符串,返回num1和num2的总和. 注意: num1和num2的长度均<5100. num1和num2都只包含数字0-9. num1和num2都不包含任何前导零. 您不能使用任何内置BigInteger库或直接将输入转换为整数. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 6…
这是悦乐书的第221次更新,第233篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第88题(顺位题号是412). 编写一个程序,输出从1到n的数字的字符串表示.但对于三的倍数,它应输出"Fizz"而不是数字,对于五的倍数,应该输出"Buzz". 对于三和五共同的倍数,应输出"FizzBuzz".例如: 输入:n = 15 输出:["1","2","Fizz"…
这是悦乐书的第216次更新,第229篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第84题(顺位题号是401).二进制手表顶部有4个LED,代表小时(0-11),底部的6个LED代表分钟(0-59).每个LED代表一个零或一个,右侧的最低有效位.给定非负整数n表示当前打开的LED数量,返回手表可能代表的所有可能时间.例如: 输入:n = 1 输出:["1:00","2:00","4:00","8:00&qu…
这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8,9,10,11 ......例如: 输入:3 输出:3 输入:11 输出:0 说明:序列1,2,3,4,5,6,7,8,9,10,11 ......的第11位是0,它是数字10的一部分. 注意:n为正整数且符合32位有符号整数(n <2^31)的范围. 本次解题使用的开发工具是eclipse,jd…
这是悦乐书的第212次更新,第225篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第80题(顺位题号是383).给定一个任意赎金票据字符串和另一个包含所有杂志字母的字符串,如果赎金票据可以从杂志中构建,则写一个函数将返回true;否则,它将返回false.杂志字符串中的每个字母只能在赎金票据中使用一次.例如: canConstruct("a","b") - > false canConstruct("aa",&…
这是悦乐书的第202次更新,第212篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第68题(顺位题号是290).给定一个模式和一个字符串str,找到str是否完全匹配该模式.完全匹配是指在模式中的字母和str中的非空单词之间存在一一对应的关系.例如: 输入:pattern ="abba",str ="dog cat cat dog" 输出:true 输入:pattern ="abba",str ="dog…
这是悦乐书的第199次更新,第207篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第63题(顺位题号是258).给定非负整数num,重复添加其所有数字,直到结果只有一位数.例如: 输入:38 输出:2 说明:过程如下:3 + 8 = 11,1 + 1 = 2.由于2只有一位数,所以请将其返回. 跟进:你可以在O(1)运行时间内没有任何循环/递归的情况下执行此操作吗? 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用J…
这是悦乐书的第198次更新,第205篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第61题(顺位题号是242).给定两个字符串s和t,写一个函数来确定t是否是s的anagram.例如: 输入:s ="anagram",t ="nagaram" 输出:true 输入:s ="rat",t ="car" 输出:false 注意:您可以假设该字符串仅包含小写字母. 跟进:如果输入包含unicode字符怎…
这是悦乐书的第191次更新,第194篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第50题(顺位题号是205).给定两个字符串s和t,确定它们是否是同构的.如果s中的字符可以替换为t,则两个字符串是同构的. 所有出现的字符必须替换为另一个字符,同时保留字符的顺序. 没有两个字符可以映射到相同的字符,但字符可以映射到自身.例如: 输入:s ="egg",t ="add" 输出:true 输入:s ="foo",t =&…
这是悦乐书的第185次更新,第187篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第44题(顺位题号是190).给定32位无符号整数,求它的反转位.例如: 输入:43261596 输出:964176192 说明:43261596以二进制表示为00000010100101000001111010011100, 964176192以二进制表示为00111001011110000010100101000000. 本次解题使用的开发工具是eclipse,jdk使用的版本是1…
这是悦乐书的第181次更新,第183篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第40题(顺位题号是169).给定大小为n的数组,找到数组中出现次数超过n/2的元素.假设该数组非空,并且该元素始终存在于数组中.例如: 输入:[3,2,3] 输出:3 输入:[2,2,1,1,1,2,2] 输出:2 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试. 02 第一种解法 我们可以先将数组排序,然后使…
这是悦乐书的第174次更新,第176篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第33题(顺位题号是125).给定一个字符串,确定它是否是回文,只考虑字母数字字符并忽略大小写.空字符串是有效回文.例如: 输入:"A man, a plan, a canal: Panama" 输出:true 输入:"race a car" 输出:false 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使…
这是悦乐书的第159次更新,第161篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第18题(顺位题号是70).你正在爬楼梯,它需要n步才能达到顶峰.每次你可以爬1或2步,你可以通过多少不同的方式登顶?注意:给定n是一个正整数.例如: 输入:2 输出:2 说明:有两种方法可以爬到顶端 1.1步 + 1步 2.2步 输入:3 输出:3 说明:有三种方法可以爬到顶端 1.1步 + 1步 + 1步 2.1步 + 2步 3.2步 + 1步 输入:4 输出:5 说明:有5种方法…
这是悦乐书的第157次更新,第159篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第16题(顺位题号是67).给定两个二进制字符串,返回它们的总和(也是二进制字符串).输入字符串都是非空的,只包含字符1或0. 例如: 输入:a ="11",b ="1" 输出:"100" 输入:a ="1010",b ="1011" 输出:"10101" 本次解题使用的开发工…
这是悦乐书的第312次更新,第333篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第181题(顺位题号是766).如果从左上角到右下角的每个对角线具有相同的元素,则矩阵是Toeplitz.现在给定一个M×N矩阵,当且仅当矩阵是Toeplitz时返回True.例如: 输入:矩阵= [[1,2,3,4],[5,1,2,3],[9,5,1,2]] 输出:true 说明:在上面的网格中,对角线是:"[9]","[5,5]","[1,1…
这是悦乐书的第306次更新,第325篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第173题(顺位题号是733).图像由二维整数数组表示,每个整数表示图像的像素值(从0到65535).给定表示泛洪填充的起始像素(行和列)的坐标(sr,sc)和像素值newColor,进行"泛洪填充"图像. 要执行"泛洪填充",请考虑起始像素,以及与起始像素相同颜色的起始像素4向连接的任何像素,以及与这些像素4向相连的任何像素(也使用与起始像素),依此类推…