左耳听风ARTS分享第2周

左耳听风ARTS分享第2周

每周完成一个ARTS: 每周至少做一个 leetcode的算法题、阅读并点评至少一篇英文技术文章、学习至少一个技术技巧、分享一篇有观点和思考的技术文章。(也就是Algorithm、Review、Tip、Share 简称ARTS)

Algorithm

15.三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。

注意:答案中不可以包含重复的三元组。

    var threeSum = function(nums) {
    nums.sort(function(a,b){return a-b})
    res =[]
     for (let i = 0; i < nums.length - 2; i++) {
        if (i == 0 || (i > 0 && nums[i] != nums[i - 1])){
            l = i+1
            r = nums.length-1
            while (l < r){
                s = nums[i] + nums[l] +nums[r]
                if (s ==0){
                    res.push([nums[i],nums[l],nums[r]])
                    while (l < r && nums[l] == nums[l+1]) l += 1
                    while (l < r && nums[r] == nums[r-1]) r -= 1
                    l +=1
                    r -=1
                }
                else if (s>0){
                    while (l < r && nums[r] == nums[r - 1]) {r--;}
                   r -=1 
                }
                else {
                     while (l < r && nums[l] == nums[l + 1]) {l++;}
                    l +=1
                }
            }
        }
     }
    return res
};

threesum

Review

How To Ask Questions The Smart Way

感悟:我们所提技术问题的解答很大程度上取决于你提问的方式与解决此问题的难度,文章讲述了如何提问才更有可能得到满意的答复。大体分为以下几点:

  1. 提问前先自己尝试通过互联网,阅读手册,“常见问题文档”(FAQ)熟人等方式查询问题,并仔细检查代码语句,用清晰、语法、拼写正确的语句书写。
  2. 提问时寻找合适(专业对口,参与者多等)的论坛或其他渠道。
  3. 当项目存在开发者邮件列表时,要向列表而不是其中的个别成员提问,发邮件使用“对象──偏差”(式的描述),在“对象”部分指明是哪一个或哪一组东西有问题,在“偏差”部分则描述与期望的行为不一致的地方。
  4. 使用易于读取且标准的文件格式发送问题
  5. 描述问题应准确且有内容,描述问题的症状,问题发生的环境,提问前做过的研究及其理解,提问前为确定问题而采取的诊断步骤,最近对计算机或软件配置的任何相关改变,如果可能,提供在可控环境下重现问题的方法;描述问题应该精炼且有内容。
  6. 除非真的有把握不要下断言,不要低声下气,要描述问题症状而不是猜测,在开头就描述你的目标,然后才陈述遇到问题的特定步骤。并在最后加上礼貌用语。
  7. 如果受到到嘲讽式的回答,不要抱怨,也不要卷进口水战中。
  8. 授人以鱼,不如授人以渔
  9. 对初学者抱有宽容之心
  10. 如果不确定,一定要说出来!

Tip

http://md.aclickall.com/
Markdown排版利器,支持 “一键排版” 、自定义css、80多种代码高亮。
能让Markdown内容,无需作任何调整就能一键复制到微信公众号、博客园、掘金、知乎、csdn、51cto、wordpress、hexo。。。等平台。

share

学习笔记:前端性能优化

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值