说明:每个人解题思路可能不同,仅提供代码参考,不懂或者有更简便的方法的可以一起讨论哟-.-
寻找数组的中心索引
题目链接:滴滴滴
题目描述:
解题代码:
class Solution {
public:
int pivotIndex(vector<int>& nums) {
int i, left, right;
for(i=0; i<nums.size(); i++)
{
left=0;
right=0;
for(int j=0; j<i; j++)
{
left+=nums[j];
}
for(int j=i+1; j<nums.size(); j++)
{
right+=nums[j];
}
if(left==right)
{
return i;
}
}
return -1;
}
};
至少是其他数字两倍的最大数
题目链接:滴滴滴
题目描述:
解题代码:
class Solution {
public:
int dominantIndex(vector<int>& nums) {
int max=0, cur;
for(int i=0; i<nums.size(); i++)
{
if(nums[i]>max)
{
max=nums[i];
cur = i;
}
}
for(int i=0; i<nums.size(); i++)
{
if(2*nums[i]>max && i!=cur)
return -1;
}
return cur;
}
};
加一
题目链接:滴滴滴
题目描述:
解题代码:
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int push;
digits[digits.size()-1]+=1;
for(int i=digits.size()-1; i>0; i--)
{
digits[i-1] += (digits[i]/10);
digits[i]%=10;
}
if(digits[0]>9)
{
push = digits[0]/10;
digits[0]%=10;
digits.push_back(digits[digits.size()-1]);
for(int i=digits.size()-1; i>0; i--){
digits[i]=digits[i-1];
}
digits[0]=push;
}
return digits;
}
};