2021-10-07

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;
}
上一篇:小工具:用C++读取TGA并输出数据到文本


下一篇:寻找so中符号的地址