zoukankan      html  css  js  c++  java
  • 01.求两数之和

    题目如下:

    第一次解答:

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

    点评:算是比较满意的,但是缺点是如果没有匹配到结果返回值有所不同。合法的结果:【】 我的结果:【0,0】

    优化:

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

    点评:牺牲空间 new int[0] 来满足合法的格式,此外如果没有匹配到,则不需要额外的 new int[2] 这样的操作

     

  • 相关阅读:
    kafka学习(八)
    kafka学习(七)
    kafka学习(六)
    kafka学习(五)
    kafka学习(四)
    kafka学习(三)
    kafka学习(二)
    kafak学习(一)
    ssh远程登录
    pycharm
  • 原文地址:https://www.cnblogs.com/bytecodebuffer/p/11405433.html
Copyright © 2011-2022 走看看