决定从今天开始整理一下leetcode上面的刷过的题,把这些记录下来感觉更有收获,希望整理的过程中自己也能再梳理一下,思路更加清晰,能力更上一个台阶!
数组和字符串
数组简介
动态数组简介 vector
1、寻找数组的中心索引
代码:
class Solution {
public:
int pivotIndex(vector<int>& nums) {
int size = nums.size();
int sum=0,sum1=0,sum2=0;
for(int i=0;i<size;i++)
{
sum+=nums[i];
}
for(int i=0;i<size;i++)
{
sum1=0;sum2=0;
for(int j=0;j<i;j++)
{
sum1+=nums[j];
}
sum2=sum-sum1-nums[i];
if(sum1==sum2)
{
return i;
}
}
return -1;
}
};
2、至少是其他数字两倍的最大数
代码:
class Solution {
public:
int dominantIndex(vector<int>& nums) {
int size=nums.size();
int max=nums[0],j=0;
for(int i=1;i<size;i++)
{
if(nums[i]>max)
{
max=nums[i];
j=i;
}
}
for(int i=0;i<size;i++)
{
if(i==j) ;
else if(nums[i]*2>max) return -1;
}
return j;
}
};