leetcode 做过的题目总结

双指针:

leetcode167. 两数之和 II - 输入有序数组(双指针)

leetcode 633.平方数之和(双指针 java)

leetcode 345.反转字符串中的元音字母(双指针 java)(有地方不懂)

leetcode 680.验证回文字符串 II(双指针 java)

leetcode 88.合并两个有序数组(双指针 java)

leetcode 141.环形链表(双指针 java)

排序:

leetcode215.数组中的第k个最大元素(快排/堆排序 java)***

只写了快排,还没有写堆排序。代码的partition方法要在纸上进行模拟,不容易理解,多回顾。

贪心:

 leetcode 455.分饼干(java 简单贪心)

简单。

leetcode 435.无重叠区间(java 贪心)

**有一处不懂,

Arrays.sort(intervals,Comparator.comparingInt(o -> o[1]));

贪心的经典方法。

leetcode 452. 用最少数量的箭引爆气球(java 贪心)

方法同leetcode 435(上一题)。

leetcode 121.买卖股票的最佳时机(java 贪心)

贪心,经典。

leetcode 122.买卖股票的最佳时机||(Java 贪心) 

贪心,和121不一样,要学会灵活思考。

leetcode 605.种花问题(java 贪心)

模拟,要学会设置变量,灵活解决问题。 

leetcode 392.判断子序列(Java 贪心)

简单贪心,需要注意的是判断语句要放在循环内部。可用动态规划做 。

leetcode 665.非递减数列 

注意判断nums[i-2]和nums[i]的关系

LeetCode 53. 最大子序和 (java)

两个变量a和maxx,用来记录当前数和之前的最大值,结果的最大数。

leetcode 763.划分字母区间(Java 贪心)

难度中等,思想巧妙,要回顾。

二分查找

注意判断条件l和h和返回值的选择。

leetcode 34.在排序数组中查找元素的第一个和最后一个位置(Java 二分查找 medium 重要)

重要**,内涵二分查找的详细介绍,要回顾。

leetcode 69.x的平方根(Java 二分查找)

注意判断条件l<=h的原因,以及return h;

leetcode 744.寻找比目标字母大的最小字母(Java 二分查找 easy)

二分查找,但是和一般的不一样,这是求大于target的最小值,判断条件有所不同。 

leetcode 540.有序数组中的单一元素(Java 二分查找 medium)

注意判断条件l<h,并且mid要一直为偶数。 

leetcode 278.第一个错误的版本(Java 二分查找 easy)

h=mid,所以判断条件l<h。

leetcode 153.寻找旋转排序数组中的最小值(Java 二分查找 medium)

 判断nums[mid]和nums[h]大小的条件不太寻常。

原文地址:https://www.cnblogs.com/y1040511302/p/11483094.html