leetcode Two sum
代码分析
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if (nums.size() == 0) return 0; ##判断数组是否为空
int j = 1;
for (int i = 1; i < nums.size(); i++)
{
if ( nums[i] != nums[i - 1])
nums[j++] = nums[i];
}
return j;
}
};
知识点
数组长度
sizeof()
sizeof() 可以查看内存大小
int a = [0,1];
len =sizeof(a);
cout << len << endl;
OUTPUT:8
nums.size() or size(a)
查看数组长度
for循环
for ( init; condition; increment )
{
statement(s);
}
1,init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
2,接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
3,在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。
#include <iostream>
using namespace std;
int main ()
{
// for 循环执行
for( int a = 10; a < 20; a = a + 1 )
{
cout << "a 的值:" << a << endl;
}
return 0;
}