• 1. 两数之和


    给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

    你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

    示例:

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

    1 class Solution { 2 public int[] twoSum(int[] nums, int target) {
     3         
     4         int[] result = new int[2];
     5         for (int i = 0; i < nums.length; i++) {
     6             for (int j = i + 1; j < nums.length; j++) {
     7                 if (nums[i] + nums[j] == target) {
     8                     result[0] = i;
    9 result[1] = j; 10 return result; 11 } 12 } 13 } 14 return result; 15 } 16 }

    官方解答

     1 public int[] twoSum1(int[] nums, int target) {
     2         for (int i = 0; i < nums.length; i++) {
     3             for (int j = i + 1; j < nums.length; j++) {
     4                 if (nums[j] == target - nums[i]) {
     5                     return new int[]{i, j};
     6                 }
     7             }
     8         }
     9 
    10         throw new IllegalArgumentException("no two sum solution");
    11     }

    分析:官方解答的优点。 return new int[]{i,j} 还有throw new IllegalArgumentException("no tow sum solution")

     1 public int[] twoSum(int[] nums, int target) {
     2 
     3         Map<Integer, Integer> map = new HashMap<>();
     4 
     5         for (int i = 0; i < nums.length; i++) {
     6             map.put(nums[i], i)
     7         }
     8 
     9         for (int i = 0; i < nums.length; i++) {
    10             int complement = target - nums[i];
    11             if (map.containsKey(complement) && map.get(complement) != i) {
    12                 return new int[] {i, map.get(complement)}
    13             }
    14 
    15             
    16         }
    17         throw new IllegalArgumentException("no to sum solution");
    18     }

    本人好久没有写java了,要开始练习java语言了。

  • 相关阅读:
    【总结】Metasploit自动攻击模块
    【实战】SSL和TLS漏洞验证
    【研究】Struts2-052漏洞
    【研究】Struts2-048漏洞
    【研究】XML外部实体注入(XXE)
    【研究】CVE-2017-11882-Office远程代码执行漏洞复现
    Excel----004分类汇总与数据有效性
    Excel----003排序与筛选
    Excel----002.单元格美化、数字格式设置、分列工具
    Execl----001.Excel基础操作
  • 原文地址:https://www.cnblogs.com/hello-lijj/p/9508111.html
Copyright © 2020-2023  润新知