摘要:
这种题都要设置一个符号位的变量 224. Basic Calculator 设置数值和符号两个变量,遇到左括号将数值和符号加进栈中 227. Basic Calculator II 乘除法有优先级,这个时候需要将这些数值弹出 与上一题不同,这个题是把所有的结果存入进stack中 阅读全文
摘要:
169. Majority Element 求超过数组个数一半的数 可以使用hash解决,时间复杂度为O(n),但空间复杂度也为O(n) 使用投票法,时间复杂度为O(n),空间复杂度为O(1)。 投票法就是记录出现的频次 leetcode是默认了有超过的,所以可以直接这样返回。像剑指offer上,还 阅读全文
摘要:
136. Single Number 除了一个数字,其他数字都出现了两遍。 用异或解决,亦或的特点:1.相同的数结果为0,不同的数结果为1 2.与自己亦或为0,与0亦或为原来的数 137. Single Number II 除了一个数字其他数字都出现了三遍。 因为数字为int型,就有32位。统计每个 阅读全文
摘要:
155. Min Stack 232. Implement Queue using Stacks 225. Implement Stack using Queues 将存储的队列之前的数值再次加入到队列的末尾 http://www.cnblogs.com/grandyang/p/4568796.ht 阅读全文
摘要:
557. Reverse Words in a String III 最简单的把空白之间的词反转 151. Reverse Words in a String 151题实际上比557题要难一些。难在,字符串中的空格不再仅仅在字符之间,在字符串的开头和结尾都可能有,并且空格的个数不再仅仅是1,而是有可 阅读全文
摘要:
这4个题都是针对旋转的排序数组。其中153、154是在旋转的排序数组中找最小值,33、81是在旋转的排序数组中找一个固定的值。且153和33都是没有重复数值的数组,154、81都是针对各自问题的版本1增加了有重复数值的限制条件。 153、154都需要考虑是否旋转成和原数组一样的情况,特别的,154题 阅读全文
摘要:
344. Reverse String 最基础的旋转字符串 541. Reverse String II 旋转k个字符,然后间隔k个字符不旋转,再旋转k个字符。z 注意:一般最后都会剩下几个不够k个的字符,如果这些字符的前一次字符进行了旋转,就不旋转;如果前一次没有进行旋转,就需要旋转。其实就是奇数 阅读全文
摘要:
162. Find Peak Element 前面递增,后面递减,一定有波峰 二分法加快搜索的速度 阅读全文
摘要:
合并到一个新的数组,直接比较就好了,这个题目是将nums1、nums2合并到nums1,nums1有许多多余的空间 如果按照合并到一个新的数组从小比到大的方式进行比较,就需要每次挪动nums1的数组。 本题可以采用从大到小的比较方式,这样就不用每次挪动数组。 同时注意,m和n都是可以为0的,nums 阅读全文
摘要:
74. Search a 2D Matrix 整个二维数组是有序排列的,可以把这个想象成一个有序的一维数组,然后用二分找中间值就好了。 这个时候需要将全部的长度转换为相应的坐标,/col获得x坐标,%col获得y坐标 240. Search a 2D Matrix II 与第一个题不同,行与行之间不 阅读全文