leetcode two_sum (easy) /java

來源:互聯網
上載者:User

標籤:main   ret   技術分享   bool   .net   gif   play   arc   數組   

刷題背景

擔心找不到工作。

看think in java略枯燥,傳智播客的視頻太淺顯。

於是刷題練習演算法和java。

廢話少說。

題:

java菜鳥一枚,用自己的編譯器便於檢查語法錯誤。

所以首先寫了一個main函數,用於測試。

 1 public static void main(String[] args) 2     { 3         Scanner input=new Scanner(System.in); 4         String s=input.nextLine(); 5         String[] s1=s.split(","); 6         int len=s1.length; 7         int[] nums=new int[len]; 8         int i=0; 9         for(String str:s1)10             System.out.print(str+" ");11         System.out.println(‘\n‘);12         for(i=0;i<s1.length;i++)13         {14             Integer it=Integer.valueOf(s1[i]);15             int temp=it.intValue();16             nums[i]=temp;17         }18         for(i=0;i<len;i++)19             System.out.print(nums[i]+" ");20         System.out.println(‘\n‘);21         int target=input.nextInt();22         System.out.println(target);23 24         int[] res=new int[2];25         res=twoSum(nums,target);26         System.out.print(res[0]+"-"+res[1]);27     }
View Code

此處提及:java和c++的一點區別,c++不能直接返回一個數組,只能返回數組的指標,使得控制數組的生命週期變得困難,並且容易導致記憶體泄露。在Java中,直接返回一個數組,無需為它負責,使用完後,記憶體回收行程會清理。(來自think in java)

第一個問題,如何讀入帶逗號的數組?

參考http://blog.csdn.net/DeMonliuhui/article/details/70157651

第二個問題,如何轉為int數組傳入函數?

參考http://www.blogjava.net/ljc-java/archive/2011/02/28/345344.html

 

關於功能函數。兩層for迴圈遍曆。因要求一個元素不能重複使用故添加  i!=j  限制。

 1 public static int[] twoSum(int[] nums, int target) { 2         int[] r=new int[2]; 3         int i=0,j=0; 4         boolean flag=false; 5         for(i=0;i<nums.length;i++) 6         { 7             for(j=0;j<nums.length;j++) 8             { 9                 if(nums[i]+nums[j]==target&&i!=j)10                 {11                     r[0]=i;12                     r[1]=j;13                     flag=true;14                     break;15                 }16             }17             if(flag)18                 break;19         }20 21         return r;22     }
View Code

 

leetcode two_sum (easy) /java

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.