|
1
2
3
4
5
6
7
8
9
10
11
12
|
1
.Given an array of integers,
return
indices of the two numbers such that they add up to a specific target.
You may assume that
each
input would have exactly one solution.
Example:
Given nums = [
2
,
7
,
11
,
15
], target =
9
,
Because nums[
0
] + nums[
1
] =
2
+
7
=
9
,
return
[
0
,
1
].
UPDATE (
2016
/
2
/
13
):
The
return
format had been changed to zero-based indices. Please read the above updated description carefully.
Subscribe to see which companies asked
this
questio
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int
* twoSum(
int
* nums,
int
numsSize,
int
target) {
int
i,j;
int
*a = (
int
*)
malloc
(
sizeof
(
int
) * 2);
for
(i=0;i<numsSize;i++){
for
(j=i+1;j<numsSize;j++){
if
(nums[i]+nums[j]==target){
a[0]=i;
a[1]=j;
break
;
}
}
}
//printf("%d",a[1]);
return
a;
}
|
LeetCode第一题!!!!没想到两层循环就解决了,想想还有点激动。看了网上才知道这样
时间复杂度O(N*2)。
好像快点的话还可以hash表?
有机会再说吧[%>_<%]
本文转自 努力的C 51CTO博客,原文链接:http://blog.51cto.com/fulin0532/1864612