时间 | 情况 |
---|---|
2022年1月1日 | 元旦,继续补牙 |
2022年1月2日 | 元旦,带绝育后的猫去拆线 |
2022年1月3日 | 元旦,沉迷《金铲铲之战》 |
2022年1月4日 | |
2022年1月5日 | |
2022年1月6日 | 【59】螺旋矩阵 II(思路:做出来了,不错不错,嘿嘿,心情贼好,这种题我都写出来了,虽然代码行数比较多,用了30多行,写法也不高明。但是耗时击败100%,内存击败20%也不错了,而且这个思路也非常容易表达出来。由于是顺时针,且初始点为左上角,那么第一步一定时向右找,第二步一定是向下找,第三步一定是向左找,第四步一定是向上找,如果遇到下一个位置的值是初始值0的,就转向) |
2022年1月7日 | 【283】移动零(思路:不看题解做出来了,这题还是挺简单的,使用双指针,一个负责记录连续非零数组的最大索引+1,记为left,一个负责寻找后续数组中的最近非零数right,找到后,两数交换,left++。否则只需要right++。效率不高,耗时击败60%,内存击败40%) |
2022年1月8日 | 沉迷《金铲铲之战》 |
2022年1月9日 | 沉迷《王者荣耀》,新英雄暃真好玩 |
2022年1月10日 | 【167】两数之和 II - 输入有序数组(思路:不看题解做出来了,这题很简单,题目提示了是升序数组,那么只需要使用双指针,数组首尾分别为两个初始指针left,right,相加大于target则right–,相加小于target则left++,否则输出两个索引的值,循环条件是left < right) 【169】多数元素(思路:不看题解做出来了,也是非常简单的,用一个map搞定。对我来说这题的考点有两个:其一,让我明白了map虽然不能以基本数据类型为key,但是可以在创建map时,类型定义为基本数据类型的封装类,如Map<Integer,Integer>,这样我们可以直接做map.put(1,10)这种操作,会自动装箱。其二是要在遍历过程中找出最大的数,不能先放到map再遍历map找最大的,效率会低(我一开始有过这种想法,很快舍弃)。耗时击败15%,内存击败95%。看题解还有一种方法,特别简单,因为一定存在这个数,那么数组排序后的中间值必定是该数,效率一般,但是简单好理解) 【240】搜索二维矩阵 II(思路:不看题解做出来了,我最后只想到了对每一个子数组用二分查找,效率也还行,耗时击败97%,内存击败16%。除了这种方法,还有暴力直接双重for循环,以及以右上角为起始点,进行比较的方法,效率一般) 【905】按奇偶排序数组(思路:不看题解做出来了,这题还是非常简单的,之前是做过类似题目的,都是使用双指针,一个找奇数,一个找偶数,然后交换,都是头指针。效率非常nice,时间击败100%,内存击败94%)(数组已23题) 【1010】总持续时间可被60整除的歌曲(思路:看了题解以后做出来了,代码的简洁程度上,比题解强。最后做出来是耗时击败100%,内存击败92%。不得不感叹一声,思路突破天际。一开始我是直接用双重for循环试了一下,不出意外,超时了。然后就想不出来了。最后看了题解,发现思路巧妙,通过定义一个长度为60的新数组统计每个余数的个数保存起来,然后两个余数相加为60的个数相乘,然后对0和30这两个特殊的余数做一下处理就好。理解了。然后就自己琢磨着不看题解写出来。写出来后比题解的代码简洁易懂多了,舒服) |
2022年1月11日 | |
2022年1月12日 | |
2022年1月13日 | |
2022年1月14日 | |
2022年1月15日 | |
2022年1月16日 | |
2022年1月17日 | |
2022年1月18日 | |
2022年1月19日 | |
2022年1月20日 | |
2022年1月21日 |