给定一个未排序的数组,返回是否存在一个长度为3的递增子序列或不在数组中。
2017-11-24 11:14
423 查看
本题源自leetcode
-------------------------------------------------
思路 : 1 设置俩个标志值 c1,c2都为最大值。
2 遍历数组 每一次都与c1,c2 比较如果比c1 小就把c1 设为这个值。否则就与c2 比。如果比c2小,就赋值给c2否则就存在递增子序列。
代码;
bool increasingTriplet(vector<int>& nums) {
if(nums.size()<3)
return false;
int c1=INT_MAX;
int c2=INT_MAX;
for(int i=0;i<nums.size();i++){
if(nums[i]<=c1){
c1=nums[i];
}else if(nums[i]<=c2){
c2=nums[i];
}else{
return true;
}
}
return false;
}
-------------------------------------------------
思路 : 1 设置俩个标志值 c1,c2都为最大值。
2 遍历数组 每一次都与c1,c2 比较如果比c1 小就把c1 设为这个值。否则就与c2 比。如果比c2小,就赋值给c2否则就存在递增子序列。
代码;
bool increasingTriplet(vector<int>& nums) {
if(nums.size()<3)
return false;
int c1=INT_MAX;
int c2=INT_MAX;
for(int i=0;i<nums.size();i++){
if(nums[i]<=c1){
c1=nums[i];
}else if(nums[i]<=c2){
c2=nums[i];
}else{
return true;
}
}
return false;
}
相关文章推荐
- 给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数,请在这个特殊数组中找出给定的整数
- 给定一个排序数组,删除重复的位置,使每个元素只出现一次,并返回新的长度。
- java__给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 请确认你是否能够跳跃到数组的最后一个下标。
- 【41】递增数组判断是否存在两个树等于给定值
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 【41】递增数组判断是否存在两个树等于给定值
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个循环有序数组里查找一个给定的值是否存在
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- 给定一个经过一次旋转的有序数组,从中查找一个值,若存在返回它的索引,不存在返回-1
- 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 【41】递增数组判断是否存在两个树等于给定值
- leetcode-java.T015_3Sum---给定一个n个元素的数组,是否存在a,b,c三个元素,使用得a+b+c=0,找出所有符合这个条件的三元组
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 给定一个经过一次旋转的有序数组,从中查找一个值,若存在返回它的索引,不存在返回-1,假定数组存在重复元素
- 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 中位数 21% 通过 给定一个未排序的整数数组,找到其中位数。 中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数
- 【41】递增数组判断是否存在两个树等于给定值
- 一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字