给定一个整数数组nums
和一个目标值target
,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。
你可以假设每种输出只会对应一个答案。但是,数组中同一个元素不能使用两边。
示例:
给定nums = [2, 7, 11, 15], target = 9
因为nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0,1]
#include <stdio.h>
int *findTwoNums(int *nums, int size, int target) {
int i, j;
int *ret = NULL;
for(i=0;i<size;i++) {
for(j=i+1;j<size;j++){
if(target == nums[i] + nums[j]) {
ret =(int *)malloc(sizeof(int) * 2);
ret[0] = i;
ret[1] = j;
return ret;
}
}
}
return ret;
}
int main(void) {
int a[] = {2, 7, 11,15};
int b = 4;
int c = 9;
int *out = findTwoNums(a, b, c);
printf("1=%d,2=%d\n", out[0], out[1]);
return 0;
}
package main
import (
"fmt"
)
func main() {
var ff = [] int {1, 3, 5, 7, 9}
target := 16
out := findTwoNums(ff, target)
fmt.Printf("it is %d and %d \n", out[0], out[1])
}
func findTwoNums(nums [] int, target int) [2] int {
for i := 0; i < len(nums); i++ {
for j := i+1; j < len(nums); j++ {
if nums[i] + nums[j] == target {
return [2] int {i, j}
}
}
}
return [2] int {}
}
原文:https://www.cnblogs.com/dar1inge/p/13747522.html