解题思路:
一句话概括:将数组中每个元素与除本元素外其他元素的两倍进行对比,如果相等,返回true,反之返回false。
详细解释:
1. 如果数组是空的,直接返回false。
2. 遍历数组,以i下标开始,从0开始,将下标为i的元素与相同数组中的其他元素(即下标为j并且i!=j)的两倍进行对比,如果相等,返回true,如果不相等,返回false。
以下为代码:
class Solution {
public:
bool checkIfExist(vector<int>& arr) {
if(arr.size()==0) //如果数组没有任何元素,直接返回false
{
return false;
}
for(int i=0;i<arr.size();i++) //遍历数组每个元素
{
for(int j=0;j<arr.size();j++) //遍历数组其他元素
{
if((arr[i]==2*arr[j])&&(i!=j)) //其他元素说明(i!=j)
{
return true; //照到返回true
}
}
}
return false; //否则返回false
}
};