继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第一天 学习LeetCode的使用

阿拉斌
关注TA
已关注
手记 28
粉丝 4
获赞 2

第一模块:课程介绍

课程名称:JavaScript版数据结构与算法 轻松解决前端算法面试
课程章节:1-3 如何刷 LeetCode?
主讲老师:lewis

第二模块:课程内容

第三模块:课程收获

  1. 尝试使用LeetCode的编码工具进行代码的书写。

选择题目:两数之和,作为我做的第一个题

题目大概:

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

就是说,找下这个数组里面,那两个数字加起来等于target。

这里使用TS作为我的语言
图片描述

我的感觉,就是对数组进行循环,一个一个加,这样感觉很呆,不过可以试一下。

先写一个循环

    for(let i = 0; i < nums.length; i++){

    }

第一个循环是要加的第一个数字,然后写第二个循环来获取另一个用来加的数据

    for(let i = 0; i < nums.length; i++){
        for(let j = i + 1; j < nums.length; j++){

        }
    }

注意,这里的j,必须得是前面那个数字的下一个,所以用的就是i + 1。因为在这个题目里面,如果一个数字和全部的数字都加过了,相当于它已经是个废弃的数字,所以第二次循环的话,就得从下一个数字开始。

完整代码

function twoSum(nums: number[], target: number): number[] {
    for(let i = 0; i < nums.length; i++){
        for(let j = i + 1; j < nums.length; j++){
            // 用当前的数据,和剩下的都加一遍
            const count = nums[i] + nums[j]
            if(count === target){
                return [i, j]
            }
        }
    }
};

点击下面的执行代码看看效果:
图片描述

然后可以点击提交按钮,来提交代码。

等待一会儿后,左侧就出现了结果。

图片描述

击败了22%的用户,看来还有优化空间。

还可以点击显示详情按钮,查看一些神奇的数据。
图片描述

完成了自己的第一个题目,感觉还是不错的,未来可期!。

第四模块:课程记录

图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP