第一题 485 Max Consecutive Ones
算法
#####自己的
时间复杂度O(n),遍历一遍,记录下最长的
学到的东西
当需要判断if (a > b)的时候可以用Math.max(a, b);进行替换
第二题 442 Find All Duplicates in an Array
####算法
链接主要方法是用负号记录下当前的数字。例如出现的数字是3,那么对应的index = 3-1 = 2,将nums[2]位置的数字置为负,如果之后再出现的话,发现是负数,那么说明这个数字已经出现过了。
第三题 [448 Find All Numbers Disappeared in an Array Add to List
](https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/#/description)
算法
我的方法
与之前题目一样,用数字和下标为负的方法记录下已经出现过的数字,如果数字为负则不用管。之后再进行一次遍历,如果某个数字是正数的话,说明其对应的数字没有出现过。返回结果
第四题 531 Lonely Pixel I
算法
方法是建立两个array对每行和每列出现的B点进行统计,因此需要O(n+m)的空间复杂度。之后需要遍历两遍,时间复杂度为O(2mn)。查看每行和每列中的点是否为1
第五题 495 Teemo Attacking
算法
用一个begin 和 end记录下此刻和下一个的时间,如果时间间隔比duration 短的话,那么就直接加上begin - end。否则就加上duration.
自己的算法打败93%第一次那么高,还是挺开心的