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:——
  • 相关阅读:
    响应码异常HttpStatus not ok!statusCode:307
    SpringBoot的web项目使用JRebel启动错误
    SpringBoot启动遇到的找不到spring模块的怪事
    Redis(一)
    Redis一主二从Sentinel监控配置
    Redis命令
    IDEA
    sql server常用函数积累
    char,varchar和nvarchar有什么区别?
    SQL SERVER里的锁机制
  • 原文地址:https://www.cnblogs.com/lstcat/p/9980104.html
Copyright © 2011-2022 走看看