955. 删列造序 II;1838. 最高频元素的频数;1392. 最长快乐前缀

955. 删列造序 II

核心思想:我们可以按照一行一行排列strs,删除索引序列就代表删除某一列,那么我们如何判断一列是否应该删除呢,我们可以从反方向思考,应该保留那些列呢?从第一列开始,如果它不满足字典序肯定就不保存,如果它加上后面的列依旧满足的话就保存,反之判断下一列。即后面的某些列加起来如果满足字典序,如果前面有一列满足字典序加上这列肯定也是满足的。

955. 删列造序 II;1838. 最高频元素的频数;1392. 最长快乐前缀_第1张图片

1838. 最高频元素的频数

核心思想:枚举每个元素作为最高配元素。对nums排序后,只能是nums前面的增加到当前的值x,而不能是后面的值变为x因为只能加不能减少。统计前面的l与r之间的差值小于等于k的结果,随着r增大l只能增加,因为如果r增加l减少,l就不满足前面的要求l是r的最远的满足要求的了,所以这题可以用滑动窗口来解决。

955. 删列造序 II;1838. 最高频元素的频数;1392. 最长快乐前缀_第2张图片

1392. 最长快乐前缀

核心思想:前缀表。模板代码,求出前缀表即可。

955. 删列造序 II;1838. 最高频元素的频数;1392. 最长快乐前缀_第3张图片

你可能感兴趣的:(python,算法)