写在前面的话: 养成做题的好习惯。论文还是没写完,这周还是没弄完,尴尬。继续整吧,不然不能毕业就尴尬了。这周有点小颓,不过每天做题还是继续整下来。
做题时间: 2020年3月16日~2020年3月22日
记录: 总共7道题,时间为117min。
最近更新时间: 20200322

使数组唯一的最小增量

链接:https://leetcode-cn.com/problems/minimum-increment-to-make-array-unique/
类名:
考察点: 数组、排序
解题过程:
直觉就是对数组排序,由题意可知需要保证相邻元素后一个元素必须大于前一个元素,所以遍历排序后的数组,如果遇到当前元素小于等于前一个元素,则改变的次数等于两者之差+1,目的是使得当前位置的元素值至少比前1个元素大1,同时需要改变当前元素的值。这样得到的改变次数总和就是题目所求的最小增量。

水壶问题

链接:https://leetcode-cn.com/problems/water-and-jug-problem/
类名:
考察点: 深搜、哈希表、数学
解题过程:
两种解法,第1种解法暴力穷举每种操作,总共六种操作,装满x水壶、装满y水壶、倒出x水壶、倒出y水壶、把x水壶倒满y水壶或者x水壶倒完、把y水壶倒满x水壶或者y水壶倒完,用哈希表记录两个盛水的水壶容量状态;看了力扣其他做题的人题解,第2种解法是数学知识,贝祖定理,判断x与y的最大公约数能否被z整除,智商被碾压,摊手。

最小的k个数

链接:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/
类名:
考察点: 堆、排序、数组
解题过程:
解法1就是对数组排序,再取排序后的数组前k个数;解法2就是构造最大堆记录数组前k小的数值。

最长回文子串

链接:https://leetcode-cn.com/problems/longest-palindrome/
类名:
考察点: 字符串、哈希表
解题过程:
哈希表记录字符出现的次数,三种情况,所有字符出现偶数次,偶数次数总和;所有字符出现奇数次,奇数次数总和-(奇数次数字符个数-1);奇数偶数次数都有,偶数次数总和+奇数次数总和-(奇数次数字符个数-1)。

矩形重叠

链接:https://leetcode-cn.com/problems/rectangle-overlap/
类名:
考察点: 数学、数学
解题过程:
控制变量法,两个矩形,固定矩形1的位置,矩形2与矩形1不重叠的位置有四种,上下左右,判断给出的坐标是否符合这四种情况,如果都不符合则表示两个矩形重叠。

拼写单词

链接:https://leetcode-cn.com/problems/find-words-that-can-be-formed-by-characters/
类名:
考察点: 字符串、哈希表
解题过程:能想到两者解法。第1种是记录字母表每种字符出现的次数,遍历词汇表中的每一个单词,判断每个单词所包好的字符是否属于字母表且出现次数小于等于该字符在字母表中出现的次数,第2种解法就是穷举出字母表所有字符能排列组合形成的单词组合,遍历词汇表中的单词,判断该单词是否在穷举的单词组合中。

字符串压缩

链接:https://leetcode-cn.com/problems/compress-string-lcci/
类名:
考察点: 字符串
解题过程:力扣3月每日1题
水题。遍历1遍字符串,3个变量,变量1记录当前的字符,变量2记录当前字符出现的个数,每次遇到新的字符,将变量1与变量2形成的字符串添加到变量3中,并重置变量1与变量2。双百通过,欧耶。