class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int n = nums.size(); for (int i = 0; i < n; ++i) { for (int j = i + 1; j < n; ++j) { if (nums[i] + nums[j] == target) { return {i, j}; } } } return {}; } };
解析:
class Solution
class
表示声明一个类,单词Solution
是“解决方案”的意思。那么class Soulution
就是声明出一个解决方案的类,类中用来存放关于解决这一问题所需要的各种函数/方法、变量。
为什么要这样做呢,简单说来就是:
一个类(生成的对象)可以理解成函数+函数运行需要的环境。如果函数不需要额外的运行环境,也可以把函数设置成静态的。
public
C++中的public分为两种情况:
1、public修饰的类成员,表示类成员被访问控制的权限。
public修饰:公有成员,基类、子类、友元、外部都可以访问
private修饰:私有成员,基类、友元可以访问,子类、外部不可以访问
protected修饰:保护成员,基类、子类、友元可以访问,外部不可以访问
这样很好得体现了C++面向对象思想中的封装。
2、public修饰子类继承基类的方式,表示公有继承。
以公有方式继承,通过子类访问基类的成员,其维持基类中的公有,私有还是保护。
vector<int> twoSum(vector<int>& nums, int target)
向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。
在 c++ 中,vector 是一个十分有用的容器。它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
C++ 中数组很坑,有没有类似 Python 中 list 的数据类型呢?类似的就是 vector!vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和 string 对象一样,标准库将负责管理与存储元素相关的内存。我们把 vector 称为容器,是因为它可以包含其他对象。一个容器中的所有对象都必须是同一种类型的。
https://leetcode-cn.com/problems/two-sum/