5-003-(LeetCode- 34) 在排序数组中查找元素的第一个和最后一个位置
Posted arctic_fox
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5-003-(LeetCode- 34) 在排序数组中查找元素的第一个和最后一个位置相关的知识,希望对你有一定的参考价值。
1. 题目
2. 解法
3. 总结
LeetCode 646 最长数对链[贪心 自定义排序] HERODING的LeetCode之路
解题思路:
从逆向思维角度出发,最后的最长数对链的第二个数一定是顺序排列的(当然第一个数也是顺序排列的),那么我们只需要按照第二个数的大小从小到大排序即可,这种情况可以保证第一个数绝对是最大贪心序列的第一个数,然后从中找子集,代码如下:
bool cmp(vector<int>& p1, vector<int>& p2)
return p1[1] < p2[1];
class Solution
public:
int findLongestChain(vector<vector<int>>& pairs)
int n = pairs.size();
sort(pairs.begin(), pairs.end(), cmp);
int res = 1, temp = pairs[0][1];
for(int i = 1; i < n; i ++)
if(pairs[i][0] > temp)
res ++;
temp = pairs[i][1];
return res;
;
以上是关于5-003-(LeetCode- 34) 在排序数组中查找元素的第一个和最后一个位置的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode692. 前K个高频单词 / 剑指 Offer 50. 第一个只出现一次的字符 / 剑指 Offer 51. 数组中的逆序对 / 2. 两数相加
LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 | Python
LeetCode 34 在排序数组中查找元素的第一个和最后一个位置