zoukankan      html  css  js  c++  java
  • 两数之和-LeetCode

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
    示例:

    给定 nums = [2, 7, 11, 15], target = 9
    
    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]
    

    分析:
    通过双层for循环来查找结果,借助Go语言的标签功能,找到结果后可以直接通过标签跳出整个循环,而不需要再额外定义标记。
    Go语言实现:

    func twoSum(nums []int, target int) []int {
    
    	var res = make([]int, 2)
     
    	label:
    	for key, value := range nums {
    		for k, v := range nums {
    			if value + v == target {
    				if key == k {//下标相同则过滤(题目强调数组中的元素不能重复利用,结果是两个下标不同的元素)
    					continue
    				}
    				res[0] = key
    				res[1] = k
    
    				break label //找到结果跳出整个循环
    			}
    		}
    	}
    	return res
    }
    
  • 相关阅读:
    hdu 3342 Legal or Not 拓排序
    hdu 1596 find the safest road Dijkstra
    hdu 1874 畅通工程续 Dijkstra
    poj 2676 sudoku dfs
    poj 2251 BFS
    poj Prime Path BFS
    poj 3278 BFS
    poj 2387 Dijkstra 模板
    poj 3083 DFS 和BFS
    poj 1062 昂贵的聘礼 dijkstra
  • 原文地址:https://www.cnblogs.com/itbsl/p/10843018.html
Copyright © 2011-2022 走看看