xqn2017

导航

随笔分类 -  LeetCode

1 2 3 下一页

507. Perfect Number
摘要:原文题目: 507. Perfect Number 解题: 寻找一个完美数,定义是除了自身之外的其他因子(包括1)总和等于本身的正整数,如28 = 1 + 2 +4 + 7+ 14就是完美数, 思路: 从1开始循环到num/2找到取模为0的数相加,判断总和是否等于自身,思路很简单,但是超时了。 继续 阅读全文

posted @ 2018-04-11 09:36 xqn2017 阅读(118) 评论(0) 推荐(0)

506. Relative Ranks
摘要:原文题目: 506. Relative Ranks 解题: 思路就是,先将原数组排序,如[21,8,9,10,11]降序排序后为[21,11,10,9,8] 建立map关系{21:0,11:1,10:2,9:3,8:4},然后遍历原数组[21,8,9,10,11]获取相应key对应的value,即可 阅读全文

posted @ 2018-04-10 20:58 xqn2017 阅读(173) 评论(0) 推荐(0)

448. Find All Numbers Disappeared in an Array
摘要:原题: 448. Find All Numbers Disappeared in an Array 解题: 思路就是 1)利用map去对应值和该值的计数 2)然后取查找Key,若key存在map中,就存在,如果不存在map中,那么该值就是丢失的,遍历前提是[1,n]连续值 AC代码: 阅读全文

posted @ 2018-03-14 19:57 xqn2017 阅读(125) 评论(0) 推荐(0)

447. Number of Boomerangs
摘要:原题: 447. Number of Boomerangs 解题: 先固定一个点A,假设有B,C两点到A的距离一样,那么排列方式是ABC,ACB,共2种,如果有B,C,D三个点到A的距离都相等,那么排列方式是ABCD,ABDC,ACBD,ACDB,ADBC,ADCB共6种,其实就是有N个点到点A的距 阅读全文

posted @ 2018-03-14 19:42 xqn2017 阅读(127) 评论(0) 推荐(0)

443. String Compression
摘要:原题: 443. String Compression 解题: 看到题目就想到用map计数,然后将计数的位数计算处理,这里的解法并不满足题目的额外O(1)的要求,并且只是返回了结果array的长度,并未修改原始vector的元素。 代码如下: AC代码如下: 阅读全文

posted @ 2018-03-12 19:39 xqn2017 阅读(151) 评论(0) 推荐(0)

438. Find All Anagrams in a String
摘要:原题: 438. Find All Anagrams in a String 解题: 两个步骤 1)就是从s中逐步截取p长度的字符串 2)将截取出的字符串和p进行比较,比较可以用排序,或者字典比较(这两种方法提交后都超时了) 代码如下(提交超时): 提交AC: 阅读全文

posted @ 2018-03-12 11:04 xqn2017 阅读(132) 评论(0) 推荐(0)

437. Path Sum III
摘要:原题: 437. Path Sum III 解题: 思路1就是:以根节点开始遍历找到适合路径,以根节点的左孩子节点开始遍历,然后以根节点的右孩子节点开始遍历,不断循环,也就是以每个节点为起始遍历点 代码如下: 以下代码是论坛里看到的,思路差不多,也是递归: 阅读全文

posted @ 2018-03-08 19:03 xqn2017 阅读(114) 评论(0) 推荐(0)

434. Number of Segments in a String
摘要:原题: 434. Number of Segments in a String 解题: 刚看到题目时,觉得可以通过统计空格个数,但想想有可能会有多个空格的情况 思路: 一:遍历字符,if条件碰到非空格时,计数加1,然后while循环跳过非空格字符,一直到最后 二:设置flag初始为0,当碰到非空格时 阅读全文

posted @ 2018-03-02 14:52 xqn2017 阅读(118) 评论(0) 推荐(0)

447. Add Strings
摘要:原文题目: 447. Add Strings 解题: 字符串的当做整数来做加法,其实就是大数加法的简化版本 思路: 1)考虑不同位数,如"1234"+“45”,需要先处理低两位,再处理num1的高两位 2)考虑进位,相加大于10时就要进位,进位值 = sum/10; 3)考虑最高位的进位,如“509 阅读全文

posted @ 2018-03-02 11:54 xqn2017 阅读(156) 评论(0) 推荐(0)

414. Third Maximum Number
摘要:原题: 414. Third Maximum Number 解题: 思路一为参考代码,提交并未AC,思路二为AC代码; 思路一: 1)由于复杂度为O(N),因此,只能遍历数组一次,根据以前碰到的求第二大值,所以可以定义三个变量分别存储最大firstMax,二大secMax,三大值thdMax,然后对 阅读全文

posted @ 2018-02-27 21:12 xqn2017 阅读(161) 评论(0) 推荐(0)

412. Fizz Buzz
摘要:原题: 412. Fizz Buzz 解题: 题目较简单,先判断是否整除15,然后判断整除3,然后判断整除5,剩下的用to_string将数字转为字符串即可 阅读全文

posted @ 2018-02-27 19:04 xqn2017 阅读(152) 评论(0) 推荐(0)

404. Sum of Left Leaves
摘要:原题: 404. Sum of Left Leaves 解题: 采用层遍历二叉树,因此会用到队列,而判断是否为左叶子节点的条件是: 该节点是左孩子节点,且该左孩子节点的左和右孩子节点均为NULL 因此又以下AC代码: 阅读全文

posted @ 2018-02-27 18:49 xqn2017 阅读(115) 评论(0) 推荐(0)

405. Convert a Number to Hexadecimal
摘要:原文题目: 405. Convert a Number to Hexadecimal 解题: 十进制转16进制的问题,主要考虑负数的情况复杂一些,但是可以通过位与运算进行回避 AC代码: 阅读全文

posted @ 2018-02-27 18:44 xqn2017 阅读(114) 评论(0) 推荐(0)

409. Longest Palindrome
摘要:原文题目: 409. Longest Palindrome 解题: 要找最长的回文串,思路就是建立一个字典char:int的map,遍历目标字符串,统计各个字符的个数,如果该字符有偶数个,那必然可以组成回文串,如果该字符是奇数个,那么就只能向下取偶了,同时还要加1,因为一个字符可以组成回文串,比如a 阅读全文

posted @ 2018-02-27 18:38 xqn2017 阅读(104) 评论(0) 推荐(0)

389. Find the Difference
摘要:原题: 389. Find the Difference 解题: 采用map字典进行计数,由于只增加了一个字符,那么其他字符的在s和t中均各自出现,所以,可以先遍历串t,建立字符:计数字典,然后遍历串s,每个字符对应的计数就减一,只有增加的字符对应的计数才是1,其余的均为0; 改进:先遍历s,然后遍 阅读全文

posted @ 2018-02-26 20:53 xqn2017 阅读(136) 评论(0) 推荐(0)

387. First Unique Character in a String
摘要:原题: 387. First Unique Character in a String 解题: 采用字典对所有字符进行计数,如果计数为1,说明只出现一次,从第一个开始循环找出第一个即可: 阅读全文

posted @ 2018-02-26 20:20 xqn2017 阅读(114) 评论(0) 推荐(0)

371. Sum of Two Integers
摘要:原文题目: 371. Sum of Two Integers 解题: 不使用+-实现两个数的加法,想到的第一个方法就是用位运算,位运算中很常用的就是异或运算,而XOR其实就是不考虑进位的加法,比如说1+3,也就是01+11不考虑进位的话,结果就是10,而1^3=2,符合预期,所以说采用异或时没有考虑 阅读全文

posted @ 2018-02-26 17:34 xqn2017 阅读(120) 评论(0) 推荐(0)

367. Valid Perfect Square
摘要:原题: 367. Valid Perfect Square 读题: 求一个整数是否为完全平方数,如1,4,9,16,……就是完全平方数,这题主要是运算效率问题 求解方法1:812ms 论坛高效率求解法: 阅读全文

posted @ 2018-02-02 20:46 xqn2017 阅读(146) 评论(0) 推荐(0)

350. Intersection of Two Arrays II
摘要:原文题目: 350. Intersection of Two Arrays II 读题: 这个和349. Intersection of Two Arrays类似,用C++实现,不用set,直接用入参的vector,稍微修改下 C++代码: 阅读全文

posted @ 2018-02-02 20:30 xqn2017 阅读(97) 评论(0) 推荐(0)

349. Intersection of Two Arrays
摘要:原文题目: 349. Intersection of Two Arrays 读题: 该题用python来做的话将会很简单,具体可以参照另一篇博客python中求两个list的交集、并集、差集 而用C++的话想对绕一些,但也可以借助于STL中的set来做,集合做交集最适合了 python代码: C++ 阅读全文

posted @ 2018-02-02 20:17 xqn2017 阅读(158) 评论(0) 推荐(0)

1 2 3 下一页