Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_algorithm
提交
d5ae4735
S
skill_tree_algorithm
项目概览
CSDN 技术社区
/
skill_tree_algorithm
通知
9
Star
8
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_algorithm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
d5ae4735
编写于
10月 26, 2021
作者:
每日一练社区
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add 1 exercises
上级
3e0874b6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
151 addition
and
2 deletion
+151
-2
data/3.算法高阶/1.leetcode/0_两数之和/solution.cpp
data/3.算法高阶/1.leetcode/0_两数之和/solution.cpp
+18
-2
data/3.算法高阶/1.leetcode/0_两数之和/solution.md
data/3.算法高阶/1.leetcode/0_两数之和/solution.md
+133
-0
未找到文件。
data/3.算法高阶/1.leetcode/0_两数之和/solution.cpp
浏览文件 @
d5ae4735
#include <unordered_map>
#include <unordered_map>
#include <vector>
#include <iostream>
using
namespace
std
;
class
Solution
class
Solution
{
{
public:
public:
...
@@ -20,4 +23,18 @@ public:
...
@@ -20,4 +23,18 @@ public:
}
}
return
r
;
return
r
;
}
}
};
};
\ No newline at end of file
int
main
()
{
Solution
test
;
int
arr
[]
=
{
3
,
2
,
4
};
vector
<
int
>
ret
;
vector
<
int
>
vec
(
arr
,
arr
+
4
);
ret
=
test
.
twoSum
(
vec
,
6
);
for
(
auto
i
=
ret
.
begin
();
i
!=
ret
.
end
();
i
++
)
{
cout
<<
*
i
<<
' '
;
}
return
0
;
}
data/3.算法高阶/1.leetcode/0_两数之和/solution.md
0 → 100644
浏览文件 @
d5ae4735
# 两数之和
以下错误的选项是?
## aop
### before
```
cpp
#include <unordered_map>
#include <vector>
#include <iostream>
#include <map>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
Solution
test
;
int
arr
[]
=
{
3
,
2
,
4
};
vector
<
int
>
ret
;
vector
<
int
>
vec
(
arr
,
arr
+
4
);
ret
=
test
.
twoSum
(
vec
,
6
);
for
(
auto
i
=
ret
.
begin
();
i
!=
ret
.
end
();
i
++
)
{
cout
<<
*
i
<<
' '
;
}
return
0
;
}
```
## 答案
```
cpp
class
Solution
{
public:
vector
<
int
>
twoSum
(
vector
<
int
>
&
nums
,
int
target
)
{
vector
<
int
>
vec
;
map
<
int
,
int
>
dic
;
for
(
int
i
=
0
;
i
<
nums
.
size
();
++
i
)
{
dic
[
nums
[
i
]]
=
i
;
}
for
(
int
i
=
0
;
i
<
nums
.
size
();
++
i
)
{
if
(
dic
.
count
(
target
-
nums
[
i
])
!=
0
&&
dic
[
target
-
nums
[
i
]]
!=
i
)
{
vec
.
push_back
(
i
);
vec
.
push_back
(
dic
[
target
]);
break
;
}
}
return
vec
;
}
};
```
## 选项
### A
```
cpp
class
Solution
{
public:
vector
<
int
>
twoSum
(
vector
<
int
>
&
nums
,
int
target
)
{
vector
<
int
>
a
;
map
<
int
,
int
>
map
;
for
(
int
i
=
0
;
i
<
nums
.
size
();
i
++
)
{
map
[
nums
[
i
]]
=
i
;
}
for
(
int
j
=
0
;
j
<
nums
.
size
();
j
++
)
{
if
(
map
.
count
(
target
-
nums
[
j
])
==
1
&&
map
[
target
-
nums
[
j
]]
!=
j
)
{
a
.
push_back
(
j
);
a
.
push_back
(
map
[
target
-
nums
[
j
]]);
return
a
;
}
}
return
a
;
}
};
```
### B
```
cpp
class
Solution
{
public:
vector
<
int
>
twoSum
(
vector
<
int
>
&
nums
,
int
target
)
{
vector
<
int
>
a
;
map
<
int
,
int
>
map
;
for
(
int
i
=
0
;
i
<
nums
.
size
();
i
++
)
{
if
(
map
.
find
(
target
-
nums
[
i
])
!=
map
.
end
())
{
a
.
push_back
(
map
[
target
-
nums
[
i
]]);
a
.
push_back
(
i
);
return
a
;
}
else
{
map
[
nums
[
i
]]
=
i
;
}
}
return
a
;
}
};
```
### C
```
cpp
class
Solution
{
public:
vector
<
int
>
twoSum
(
vector
<
int
>
&
nums
,
int
target
)
{
vector
<
int
>
a
;
for
(
int
i
=
0
;
i
<
nums
.
size
();
i
++
)
{
for
(
int
j
=
i
+
1
;
j
<
nums
.
size
();
j
++
)
{
if
(
nums
[
i
]
+
nums
[
j
]
==
target
)
{
a
.
push_back
(
i
);
a
.
push_back
(
j
);
return
a
;
}
}
}
}
};
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录