zoukankan      html  css  js  c++  java
  • iARTS 第一周 2018/11/18

    Algorithm:两数之和 

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为gai目标值的 两个 整数。

    你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

    示例:

    > 给定 nums = [2, 7, 11, 15], target = 9

    > 因为 nums[0] + nums[1] = 2 + 7 = 9

    > 所以返回 [0, 1]

    看过题目后,我第一时间想到得是通过遍历去处理这个问题。之后也去浏览了讨论里的答案,发现自己需要学习的是真得很多。

    一次哈希的解法,两次哈希的解法,聊聊我理解的一次哈希的解法:

    * 遍历 nums

    * 判断 target - nums[i] 是否存在

    class Solution {
        func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
            var dict = [Int: Int]()
            for (i, num) in nums.enumerated() {
                if let lastIndex = dict[target - num] {
                    return [lastIndex, i]
                }
                dict[num] = i
            }
            fatalError("Invalid Outputs!")
        }
    }
    

     

    Review:Learning programming is different from a learning programming language

    学习编程并不是学习编程语言
     
    本文明确区分了学习编程和学习编程语言,个人认为全文可以分为以下 3 个部分:
    1. 学习编程的现状是:大多数人都在学习编程语言
    2. 学习编程和学习编程语言的区别:编程更像是想法,而编程语言更像是工具
    3. 学习编程后用编程语言去实践会事半功倍
     
    Tips:给 Blog 加上 https 
    看了下耗子叔在 CoolShell 里的文章,发现并不符合我的博客。我的博客采用的是 GitPages + Hexo 搭的。
    后来在网上翻找了一番,参考着 Netlify + Hexo 来实现,后面还是踩坑了。
    如今又给回退成 GitPages + Hexo 了,这周接着弄吧。
     
    Share:——
  • 相关阅读:
    .OBJ est1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
    线程详细剖析(四)
    线程详细剖析(三)
    线程详细剖析(二)
    线程详细剖析(一)
    CAN总线相关的几个gitlab代码
    进程详细剖析(三)
    C++实现多级排序
    C/C++读写二进制文件
    C++11新特性
  • 原文地址:https://www.cnblogs.com/lstcat/p/9980104.html
Copyright © 2011-2022 走看看