题图:macOS wallpaper

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

题图:macOS wallpaper

Contents

Algorithm

168. Excel Sheet Column Title

题目:168. Excel Sheet Column Title

难度:Easy

题意:Given a positive integer, return its corresponding column title as appear in an Excel sheet.

For example:

    1 -> A
    2 -> B
    3 -> C
    ...
    26 -> Z
    27 -> AA
    28 -> AB 
    ...

示例 1:

Input: 1
Output: "A"

示例 2:

Input: 28
Output: "AB"

示例 3:

Input: 701
Output: "ZY"

解法:

本题其实是一个数学题,相当于是十进制进制转化为 26 进制。解法中使用了两个函数 chrord,有点偷懒的感觉,但思路相对清晰,直接让代码说话。

代码:

class Solution:
    def convertToTitle(self, n: int) -> str:
        res, num = '', n

        while num > 0:
            res += chr((num - 1) % 26 + ord('A'))
            num = (num - 1) // 26
        
        return res[::-1]

Review

Digital Minimalism - Introduction

本周开始阅读卡尔·纽波特的著作《Digital Minimalism - Choosing a Focused Life in a Noisy World》。作者在这本新书中,阐述了他对当下充斥着数据分析、精准推送、信息投喂的数字世界的看法:

人类从物质世界丰盈到数字世界丰盈不过几十年的时间,如果极简生活方式可以成为物理世界的潮流,那么极简主义当然也能出现在数字世界中。

作者在这本书开篇的 Introduction 部分就指出:

They downloaded the apps and set up accounts for good reasons, only to discover, with grim irony, that these services were beginning to undermine the very values that made them appealing in the first place: they joined Facebook to stay in touch with friends across the country, and then ended up unable to maintain an uninterrupted conversation with the friend sitting across the table.

人们下载应用、注册账号,以为自己会好好利用它,结果却讽刺地发现,这些让他们最初使用这个应用的良好初衷,正在被这些服务蚕食破坏:人们加入脸书是为了和朋友们保持联系,结果却发现自己连和餐桌对面的朋友聊天都不会。

同样的道理,也许你下载抖音、注册微博、安装游戏、阅读新闻,只是为了闲暇时间得到一些休息,或者快速高效地获取信息,但是不是经常会发现,打开手机就不自觉地被一些推送吸引了,当你再回过头来的时候,甚至已经忘了刚刚打开手机只是为了看一眼时间?

关于这个问题,我想,如果你看到这里认为「我们当中的大多数都意识到了这个问题」,那么你可能并没有仔细地思考过这个问题。正在刷手机的你,有多久没有放下手机好好和家人朋友聊聊天了?又多久沉溺在抖音、快手、微博的精准推荐的信息流中?是不是朋友聚会家人共处的时候,大家都在各顾各玩自己的手机?打开手机的「屏幕使用时间」,你更会感到吃惊。

I’ve become convinced that what you need instead is a full-fledged philosophy of technology use, rooted in your deep values, that provides clear answers to the questions of what tools you should use and how you should use them and, equally important, enables you to confidently ignore everything else.

如果你也认同上面这段话,那么我推荐你阅读这本《Digital Minimalism》。本书暂时没有中文版,你可以在亚马逊上购买英文原版。

Tips

Google Search 的替代品——DuckDuckGo

由于日常使用 Chrome 感觉占用内存偏大,于是想试试 Safari。在 macOS 大苏尔中,苹果在 Safari 加入了对跟踪器的阻止功能,而且有计数,你可以看到自己浏览网页时有多少跟踪器在跟踪自己。我们可以看到,大部分的 tracker 都来自 googleanalytics 和 googletagmanager。我因此安装了 DuckDuckGo 插件,顺便设置了 DuckDuckGo 作为默认的搜索引擎。

DuckDuckGo 强调了自己的私密性和安全性,但作为一个搜索引擎,它的效率对我来说还有待考证,至少中文搜索应该是不如谷歌和百度的,待我使用一段时间之后再来分享自己的使用体验。

Share

一个时间序列分析软件包 tslearn

由于我自己使用 sktime 作为时间序列分析工具比较多,但有些苦于这个包的文档有些不全,只好自己去看源码,并且一些算法的实现和 R 通用的算法有些不同,给论文复现带来了一些困难,于是求助于一个博三学长 Yichang WANG,他给我推荐了他同事编写的 tslearn 时序分析包。

tslearn 提供了 DTW、核方法、时序聚类、Shapelets、Matrix Profile、Early Classification 等时序分析方法,文档完备,bug 很少,感兴趣的朋友可以在这里查看并 star。

WeChat QRCode