由于老肝哥想利用工作之余寻找升自我的空间,在网路上逛逛PTT时意外发现
PTT上软工版各路大神都是在讨论LeetCode刷题!
不服老的老肝哥就想尝试看看,尝试一下顺便累积点什么,将来面试也好有东西吹嘘
如果你跟老肝哥一样,半路出家,我会用最菜的思想与讲解,纪录一下刷题过程
事先声明:老肝哥的做法不是最好的,若有更好的做法欢迎指教!
1, Two Sum
题目描述为下:
Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Output: Because nums[0] + nums[1] == 9, we return [0, 1].
解答如下:
class Solution { public int[] twoSum(int[] nums, int target) { for(int i = 0; i<nums.length;i++){ for(int j = i+1;j<nums.length;j++){ int sum = nums[i]+nums[j]; if(sum == target){ int[] result = {i,j}; return result; } } } return null; }}
##解释如下:
第一层迴圈控制取第一个数字(index:0),第二层迴圈取第二数字由于避免取到重複数值(index:i+1,取第一个数字后一位)
如果取到对的数值,剩下比对就简单了,一但第一个数字加上第二个数字为Target,则返回其index!!