zoukankan      html  css  js  c++  java
  • 1:TwoSum(如果两个和为某个数,找出这俩数的位置)

    package leetcode;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author mercy
     *Example:
     *Given nums = [2, 7, 11, 15], target = 9,
     *Because nums[0] + nums[1] = 2 + 7 = 9,
     *return [0, 1].
     */
    public class TwoSum {
    	public static void main(String[] args) {
    		int[] nums={2,0,4,9,5,7,10,9};
    		int target=12;
    		int[] arr=twoSum1(nums,target);
    		System.out.println(arr[0]+"--"+arr[1]);
    	}
    	public static int[] twoSum(int[] nums, int target) {
    		Map<Integer,Integer> map=new HashMap<>();
    		for(int i=0;i<nums.length;i++){
    			map.put(nums[i], i);
    		}
    		for(int i=0;i<nums.length;i++){
    			int other=target-nums[i];
    			if(map.containsKey(other)&&map.get(other)!=i){
    				 return new int[] { i, map.get(other) };
    			}
    		}
    		throw new IllegalArgumentException("No two sum solution");
        }
    	/**
    	 * @param nums
    	 * @param target
    	 * @return
    	 * 用Map方法
    	 * @author mercy
    	 */
    	public static int[] twoSum1(int[] nums, int target) {
    		Map<Integer,Integer> map=new HashMap<>();
    		for(int i=0;i<nums.length;i++){
    			int other=target-nums[i];
    			if(map.containsKey(other)){
    				return new int[]{map.get(other),i};
    			}
    			map.put(nums[i], i);
    		}	
    		throw new IllegalArgumentException("No two sum solution");
        }
    	
    	/**
    	 * @param nums
    	 * @param target
    	 * @return
    	 * 传统的方法
    	 * @author mercy
    	 */
    	public static int[] twoSum2(int[] nums, int target) {
    		for(int i=0;i<nums.length;i++){
    			for(int j=i+1;j<nums.length;j++){
    				if(nums[j]==target-nums[i]){
    					return new int[] {i,j};
    				}
    			}
    		}
    		throw new IllegalArgumentException("No two sum solution");
        }
    
    }
  • 相关阅读:
    zabbix实现mysql数据库的监控(四)
    Redis高级进阶(一)
    Redis高级进阶(二)
    Redis的管理
    9.动态SQL
    8.Mapper动态代理
    7.属性名与查询字段名不相同
    6.单表的CRUD操作
    5.API详解
    4.主配置文件详解
  • 原文地址:https://www.cnblogs.com/JAYIT/p/6956072.html
Copyright © 2011-2022 走看看