力扣算法——第一题两数和——go语言

package main

import "fmt"

func twosum(arr []int, tar int) []int {
    
    
	arrayMap := map[int]int{
    
    }
	for i, val := range arr {
    
    
		j, valInMap := arrayMap[tar - val]
		if valInMap {
    
    
			return []int{
    
    j,i}
		}
		arrayMap[val] = i
	}
	return nil
}

func printSlice(x []int){
    
    
	fmt.Printf("slice=%v len=%d cap=%d \n",x,len(x),cap(x))
}

func main() {
    
    
	var slice = make([]int, 0, 5)
	var target int
	var result [] int
	
	fmt.Println("please input a array: ")
	for i := 1; true; i++ {
    
    
		var inputNum int
		fmt.Printf("No.%d : ", i)
		_, err := fmt.Scanf("%d", &inputNum)
		if nil == err {
    
    
			slice = append(slice, inputNum)
		}  else {
    
    
			break
		}
	}
	printSlice(slice)
	
	fmt.Printf("input the target:")
	fmt.Scanf("%d",&target)
	
	result = twosum(slice, target)
	fmt.Println("Index is ",result[0],"and",result[1])
	fmt.Printf("%d + %d = %d",slice[result[0]], slice[result[1]], target)

}

Supongo que te gusta

Origin blog.csdn.net/qq_44011116/article/details/121807344
Recomendado
Clasificación