ARTS 第 31 周

每周完成一个 ARTS:
Algorithm: 每周至少做一个 LeetCode 的算法题
Review: 阅读并点评至少一篇英文技术文章
Tips: 学习至少一个技术技巧
Share: 分享一篇有观点和思考的技术文章


Contents


Algorithm

66. Plus One

题目:66. Plus One

难度:Easy

题意:

Given a non-empty array of digits representing a non-negative integer, plus one to the integer.

The digits are stored such that the most significant digit is at the head of the list, and each element in the array contain a single digit.

You may assume the integer does not contain any leading zero, except the number 0 itself.

示例 1:

Input: [1,2,3]
Output: [1,2,4]
Explanation: The array represents the integer 123.

示例 2:

Input: [4,3,2,1]
Output: [4,3,2,2]
Explanation: The array represents the integer 4321.

解法:

这个题目实际上有一些坑,在示例中应该加上 [9, 9, 9] 这种例子更方便理解。实际上我们要注意的也是这个地方,即进位的问题。我们需要从后往前遍历,区分是否为 9 即可。

代码:

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        for i in reversed(range(len(digits))):
            if digits[i] == 9:
                digits[i] = 0
            else:
                digits[i] += 1
                return digits
        digits[0] = 1
        digits.append(0)
        return digits

Review

Deep learning: the final frontier for signal processing and time series analysis?

本周阅读了 Medium 上的一篇关于信号处理与时间序列的综述类文章,题目为《Deep learning: the final frontier for signal processing and time series analysis?》。

文章写得非常好,提纲挈领地总结并分析了目前关于信号分析与时序问题领域中被广泛运用的方法,将其罗列如下:

文末作者非常负责地给出了延伸阅读的链接,非常建议一读。


Tips

推荐一个简单的图床应用

目前我写作用的图床应用是 iPic,上传操作很方便,支持多种图床,上传完成之后直接将结果以 Markdown 格式返回保存到剪贴板中。官方详细介绍。可以在 Mac App Store 下载。暂不支持 Windows。


Share

关于 5G 是不是伪需求的一点理解

最近和老爸聊天,老爸问起来 5G 的事情,他说他的很多朋友表示 5G 是一个伪需求,于是我和老爸探讨了一下关于「5G 是否是伪需求」这个命题,把自己的理解记录如下。

记得大概在六月份端午节的时候,何同学的一个 5G 视频一夜之间收获了几十万的浏览量,并被央视转发,各种科技媒体也都在谈论 5G,老百姓也时不时把 5G 挂在嘴边。究其原因,无外乎一下三点:

  1. 4G 技术已经使用了很长一段时间,现在已经到了技术突破的时候了;
  2. 中美的技术与毛衣争端把国内 5G 技术的领头羊华为推上了风口浪尖;
  3. 越来越多的质疑声开始出现,比如需求、成本、辐射问题等等。

那么 5G 到底是不是一个为需求呢?

有这样的质疑声很正常,拿我自己所在的国家法国举一个例子。在法国很多地方,实际上 4G 都没有完全覆盖,要是乘坐大巴路过法国一些乡下,你会发现手机都是「无服务」,我所住的小区也还是去年年底才通上光纤网络。这些都反映了一个事实:人口密度小的地方,建立基站的成本非常高。这也是为什么在法国使用功能机的人随处可见的原因。

很多人认为,5G 只是速度比 4G 要快一些,4G 已经可以满足我们现在的所有需求,如刷微博、接打微信视频电话、在线观看高清电影等。这种看法是非常有道理的,因为我们目前对 5G 的媒体报道,大部分都是集中在 5G 的网速多么多么快上,动不动就拿出一台 5G 手机,打开 SpeedTest,到指定的 5G 测试地点进行网速测试,甚至很多运营商的宣传中也拿 5G 的网速作为噱头,比如一分钟下载一部高清电影、两分钟下载一个大型游戏等等。但是所有这些宣传,都没有指出 5G 所能解决的 4G 的痛点问题,就是 4G 的网络带宽。

举个栗子,在火车站、演唱会或者其他一些人多的场合,你是否有过「明明 4G 信号是满格,但却刷不出来朋友圈、发不出去图片」的经历呢?我猜测大部分人都有吧,那么这就印证了 4G 的痛点问题,就是带宽。一旦设备数量增加一两个数量及,4G 的带宽与并发能力就不够了。

从 4G 技术的最初设计来看,4G 最多支持的设备数是 10 万台/平方公里。而今后必定是 IoT 发展的时代,各种智能家居、智能设备、智能汽车都要加入到网络中来,那么每平方公里的设备数可能就远远不止 10 万台了,这也就到达了 4G 带宽的上限。就像是一条公路,建设的时候是四车道设计,这样的设计用来应付原先的车辆数可能绰绰有余,但是现在车辆数目猛增,要解决这个问题,一个非常容易想到的方法就是拓宽车道了。5G 的设计中有一项就是更大的带宽和更强的并发能力。

另外,在 4G 到来之前,4G 也经历了很多「是否是伪需求」的质疑,从现在的结果来看,4G 技术的成熟创造出了很多原先没有的市场,5G 也许也是这样。

让我们拭目以待。