本人是一名什么都不会的“编程”爱好者。偶然一次接触到了LeetCode,打算开始自己的“旅程”。先从算法开始,从简单开始,一步步往上走,在这里做好相关笔记。
Vector常见方法
Vector标识符;
Vector标识符(最大容量);
Vector标识符(最大容量,初始所有值);
int i[4]={1,2,3,4};
什么是“Vector”、“STL”and“push back”
Vector简单来说就是C++里面的一种容器,STL是模板库,其中容器是C++中STL的核心三大组件之一,还有算法、迭代器。push back就是给数据结构添加元素。
用法例如:
Vector
int a[4]={1,2,3,4};
b.push_back(a[1]);
如何求“两数之和”
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
刚开始写的,脑袋里没想那么多,直接暴力解了。写着写着,有个地方不对,要返回两个数诶。那该怎么办,后面想到了用数组来解决这个问题(大神轻喷)。下面是第一次写的:
vector
nums = {2,7,11,15};
target = 9;
vector
int i;
for(i=1;i<3;i++)
{
if(nums[0]+nums[i]==9)
{
p.push_back(0);
p.push_back(i);
}
}
for(i=2;i<3;i++)
{
if(nums[1]+nums[i]==9)
{
p.push_back(1);
p.push_back(i);
}
}
if(nums[2]+nums[3]==9)
{
p.push_back(2);
p.push_back(3);
}
return p;
}
后面就睡了,觉得这样写实在是太乱了,脑瓜子突然想到了点规律,就有了下面的:
自己也不知道为什么越写越糊涂了,忘记了多个语句要加括号。除了这种暴力解法,还有其他的解法~欢迎大家在下方评论交流哟~
閱讀更多 曉小說 的文章