LeetCode_Two Sum

代码

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] results = {0,0};
        int flag = 0;//find out or not
        int i=0,j=0 ;//i for first number, j for the distance between two number

        for(i = 0; i < nums.length; i++){
            for(j = 1; i + j < nums.length; j++){
                if(nums[i]+nums[i+j] == target){
                    results[0] = i;
                    results[1] = i+j;
                    flag = 1;
                    break;//break from inner 
                }else{
                    flag = 0;
                }
            }
            if(flag == 1){
                break;//break from outer
            }
        }
        return results;
    }
}

忘记的知识点

  1. 数组长度:数组名.length
  2. 嵌套循环中的break: 每一层的循环中的break只能跳出本层循环
  3. 数组的声明

解题思路

第一层循环从头开始遍历数组,每次选中的数字是nums[i]
第二层循环从nums[i+1]开始遍历剩下的数字,每次选中的数字是nu ms[i+j]
循环的控制条件都是不要超过数组的长度
判断条件:两数之和=target

学到的知识

  1. 返回数组 return new int[] {I,j};

今日碎碎念

大学的前三年,从来没有写过课程内容以外的代码,渐渐发觉自己对代码的熟悉程度实在是不足以称自己为程序员,所以从今天开始定了一个小目标:每天至少完成leetcode上的一道题目,上不设限,终极目标是在本科毕业前刷完第一遍leetcode。
随着年龄的增加,我愈加相信那句话,你把时间花费在哪里,那么奇迹就会发生在哪里。我始终为自己的浅薄感到愧疚,希望勤能补拙,希望自己的编程能力对的起自己学校的牌子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值