Easy
文章平均质量分 74
LeetCode简易难度
Hiroshiten
这个作者很懒,什么都没留下…
展开
-
LeetCode 136. Single Number (算法、异或)
LeetCode 136. Single Number (算法、异或)原创 2017-05-23 10:39:01 · 273 阅读 · 0 评论 -
LeetCode 463. Island Perimeter (算法, 矩阵遍历)
LeetCode 463. Island Perimeter (算法, 矩阵遍历)输入一个矩阵,1代表陆地,0代表水,计算岛屿的周长。思路:若不考虑每块陆地的相邻条件,则一块陆地的周长为4。两块陆地相邻,则周长减少2。逐个元素遍历矩阵,查找每个元素左侧、上方是否有相邻的1(两元素相乘为1)。原创 2017-05-23 09:39:19 · 797 阅读 · 0 评论 -
LeetCode 412. Fizz Buzz (int转string)
LeetCode 412. Fizz Buzz (int转string)使用string to_string(int)函数。原创 2017-05-20 21:27:17 · 411 阅读 · 0 评论 -
LeetCode 575. Distribute Candies (元素去重)
LeetCode 575. Distribute Candies (元素去重)用sort()和unique()函数对vector中的元素去重原创 2017-05-20 19:54:33 · 204 阅读 · 0 评论 -
LeetCode 557. Reverse Words in a String III (字符串翻转)
LeetCode 557. Reverse Words in a String III (字符串翻转)按单词翻转字符串。要点在\0和size()的判断和处理,以及最后的空格的处理。原创 2017-05-20 17:32:26 · 248 阅读 · 0 评论 -
LeetCode 476. Number Complement (按位取反)
LeetCode 476. Number Complement (按位取反)将原数与各位都是1的数做异或运算。原创 2017-05-20 16:00:11 · 462 阅读 · 0 评论 -
LeetCode 561. Array Partition I (排序、遍历)
LeetCode 561. Array Partition Ivector的排序、遍历原创 2017-05-19 17:16:50 · 241 阅读 · 0 评论 -
LeetCode 461. Hamming Distance (计算二进制数中1的位数)
LeetCode 461. Hamming Distance计算二进制数中1的位数。原创 2017-05-19 16:53:01 · 498 阅读 · 0 评论 -
LeetCode 530. Minimum Absolute Difference in BST (二叉树、递归)
输入一个二叉查找树(BTS),输出其中两个节点之差的最小值。原创 2017-05-27 14:40:02 · 265 阅读 · 0 评论 -
LeetCode 541. Reverse String II (字符串翻转)
输入字符串s和正整数k,对于每2k个字母,将其中前k个字母翻转。最后如果剩余字母少于k个,则将其全部翻转;若多于k个,则将前k个翻转,其余不变。思路:利用void reverse(str.begin(),str.end())函数直接原位翻转,若要翻转到其他变量,可使用str2.assign(str.rbegin(), str.rend())函数。原创 2017-05-31 22:36:53 · 318 阅读 · 0 评论 -
LeetCode 551. Student Attendance Record I (边界处理)
输入一串字符,如果A的总数大于等于2或连续出现3个或以上L,则返回false;否则返回true。思路:手动判断前两个字符是否为A,然后从第3个字符开始用循环判断第i-2,i-1,i个字符是否为L,以及当前字符是否为A。原创 2017-05-31 23:08:27 · 189 阅读 · 0 评论 -
LeetCode 415. Add Strings (大数加法,字符串处理)
输入两个字符串格式的非负整数,输出它们的和。思路:首先将两个整数用0补齐到相同长度,然后计算本位和、进位。注意最后一次循环结束后,判断是否存在进位,如果存在进位,需要在结果前补1。原创 2017-06-01 16:02:10 · 2110 阅读 · 0 评论 -
LeetCode 405. Convert a Number to Hexadecimal (进制转换,移位运算)
输入一个整数,输出其十六进制表示的字符串。负数使用补码表示。思路:用十进制的15(二进制的1111)作为掩码,获取最低的4位,直接查表映射成十六进制。然后右移4位,进行下次映射。在右移位时,注意要转换成无符号整数,这样移位时才能补0,否则将添加符号位。原创 2017-06-01 16:37:17 · 439 阅读 · 0 评论 -
LeetCode 202. Happy Number (迭代,各位平方和)
输入一个数,判断是否是happy number。happy number的定义是:对于一个数字,求各位的平方和,然后继续以上过程,如果中间结果是1则是happy number;如果陷入死循环,则不是happy number。思路:按照步骤逐位计算平方再求和。当n迭代到个位数时,如果是1或7则返回true,否则返回false。原创 2017-06-01 20:00:32 · 926 阅读 · 0 评论 -
LeetCode 326. Power of Three (算法,换底公式)
输入一个整数,判断其是否为3的幂。思路:数学上要判断一个数n是否是3的乘幂,就是判断log3(n)是否为整数。但是C++里没有log3()这个函数,所以使用换底公式:原创 2017-06-01 20:30:40 · 375 阅读 · 0 评论 -
LeetCode 485. Max Consecutive Ones (边界处理)
LeetCode 485. Max Consecutive Ones (边界处理)原创 2017-05-23 10:31:56 · 220 阅读 · 0 评论 -
LeetCode 537. Complex Number Multiplication (复数乘法,string转int)
输入两个复数(a+bi的形式),输出其乘积。思路:根据加号确定实部和虚部的分界,利用int atoi(str.c_str()) 函数进行string到int的转换。原创 2017-05-25 21:24:57 · 450 阅读 · 0 评论 -
LeetCode 217. Contains Duplicate (vector查重)
输入一组整数,查找其中是否包含重复元素。思路:利用unique函数和erase函数,比较去重之后的长度是否变化。如果有变化,说明有重复元素。原创 2017-05-25 16:27:31 · 723 阅读 · 0 评论 -
LeetCode 520. Detect Capital (字符串)
LeetCode 520. Detect Capital (字符串)输入一个单词,判断是否符合大小写规则。规则:全大写/全小写/首字母大写。原创 2017-05-23 11:00:53 · 224 阅读 · 0 评论 -
LeetCode 448. Find All Numbers Disappeared in an Array (数组查缺)
LeetCode 448. Find All Numbers Disappeared in an Array (数组查缺)输入一个长度为n的数组(元素有重复),查找[1, n]之间缺少的数。思路:用unique()函数把原数组去重,遍历其中缺少的数字。原创 2017-05-23 12:08:43 · 143 阅读 · 0 评论 -
LeetCode 389. Find the Difference (字符串比较)
LeetCode 389. Find the Difference (字符串比较)原创 2017-05-23 17:20:29 · 264 阅读 · 0 评论 -
LeetCode 371. Sum of Two Integers (递归、半加器)
LeetCode 371. Sum of Two Integers (递归、半加器)原创 2017-05-23 17:46:08 · 259 阅读 · 0 评论 -
LeetCode 258. Add Digits (int转string)
输入一个整数,计算其各位之和,如此迭代直到和为个位数。原创 2017-05-23 18:19:30 · 235 阅读 · 0 评论 -
LeetCode 283. Move Zeroes (数组元素操作)
输入一组整数,将其中的0移到数组末尾,保持其他整数顺序不变。在同一数组内操作。原创 2017-05-23 18:35:20 · 183 阅读 · 0 评论 -
LeetCode 492. Construct the Rectangle (算法)
输入一个正整数n,将其拆成两个正整数L和W的乘积,使L和W的差最小,且L>=W。思路:从根号n开始遍历,直到找到第一个能够整除n的数。原创 2017-05-23 21:29:02 · 188 阅读 · 0 评论 -
LeetCode 167. Two Sum II - Input array is sorted (夹逼法)
输入一组整数(升序排列)和一个整数,找到数组中相加等于这个整数的两个数的序号。有且只有一组解。原创 2017-05-23 21:48:45 · 337 阅读 · 0 评论 -
LeetCode 455. Assign Cookies (游标)
输入两个正整数数组g和s,使得满足s[i]>=g[j]的pair数最多,求这个pair数。思路:先将两个数组降序排序,为g和s分别设置游标,当满足s[i]>=g[j]时移动两个游标并计数,否则移动g游标。原创 2017-05-24 11:15:44 · 168 阅读 · 0 评论 -
LeetCode 122. Best Time to Buy and Sell Stock II (算法)
输入一组数,代表每日股价。可以多次买入、卖出,每次必须全仓操作。计算最大收益。思路:当日比前一日上涨时卖出(累加收益);下跌或持平时买入(不累加收益)。原创 2017-05-24 17:11:56 · 198 阅读 · 0 评论 -
LeetCode 171. Excel Sheet Column Number (字符串、进制转换)
输入一组大写字母,代表Excel里的列序号,将其转换成十进制数。(26进制转十进制)原创 2017-05-24 18:46:56 · 205 阅读 · 0 评论 -
LeetCode 387. First Unique Character in a String (查重、计数器)
输入一组小写字母,找到其中第一个不重复的字母的索引号,如果找不到则返回-1。思路:为26个字母设置计数器数组,然后按照s的顺序找到第一个计数器值为1的字母。原创 2017-05-24 19:02:11 · 171 阅读 · 0 评论 -
LeetCode 169. Majority Element (数组的主要元素、摩尔投票算法)
输入一个数组,找到其中的主要元素(主要元素的个数大于n/2向下取整)。思路①将数组排序后,位于n/2向下取整位置的即为主要元素。思路②Moore's voting algorithm: 不断删去数组中两个不同的数,直到最后剩下的数都相同,即为主要元素。原创 2017-05-24 19:25:30 · 488 阅读 · 2 评论 -
LeetCode 409. Longest Palindrome (算法、回文序列)
输入一组字母(区分大小写),判断由其子集组成的回文序列最大长度。原创 2017-05-24 20:04:07 · 381 阅读 · 0 评论 -
LeetCode 231. Power of Two (算法,计算二进制数中1的位数)
输入一个数,判断其是否为2的幂。利用STL的bitset模板直接求解。原创 2017-06-01 20:51:50 · 388 阅读 · 0 评论