本文由 Deguang 发表于 码路-技术博客

什么是ARTS打卡?

Algorithm 算法

通过循环从后向前计算,判断加和数值是否需要进位
function addBinary(a: string, b: string): string {
    
    let i = a.length - 1;
    let j = b.length - 1;
    let overflow = 0;
    const res: number[] = [];
    while(i >= 0 || j >= 0) {
        let sum = overflow;
        if (i >= 0) {
            sum += Number(a[i])
            i--;
        }
        if (j >= 0) {
            sum += Number(b[j])
            j--;
        }

        res.unshift(sum & 1)
        overflow = sum >> 1
    }
    if (overflow === 1) {
        res.unshift(overflow)
    }
    return res.join('');
};
按照二分查找,判断中值平方与目标值的大小,不超过目标值的最大值,即为答案
function mySqrt(x: number): number {
    let i = 0;
    let j = x;
    let ans = -1;
    while (i <= j) {
        const mid = Math.floor((i + j) / 2);
        if (mid * mid <= x) {
            ans = mid
            i = mid + 1;
        } else {
            j = mid - 1;
        }
    }
    return ans;
};

Review 英文阅读

Article:

Is AI killing freelancing? Freelancing experts weigh in.

Review:

AI 对自由职业来说,充满了威胁与机遇。文章分别从 AI 是否能取代自由职业者、供需饱和、法规层面、获客提示、避免损失等角度对自由职业者的现状和前景进行了讨论,并对如何在当前环境下取得成功给出了建议。

以下是关于 AI 带给自由职业者的威胁与机遇:

  • AI 在取代一些简单工作,但也创造了数据工程等新的工作机会;
  • AI 目前只能处理基础工作,无法替代需要策略思考的高端工作;
  • AI 为自由职业者提供能力加持,辅助完成任务;

Tip 技术技巧

Mac 中 git 大小写问题解决方案

在 Mac 上进行开发时,发现文件名大小写错误,如果直接修改文件名,会遇到 git 无法正确识别文件名修改的问题。这是由于 Mac 系统本身对大小写不敏感产生的问题

解决方案:

  • 使用 git mv 就可以正常完成文件重命名:)
git mv testFile.vue TestFile.vue

为了避免这个问题,我们可以预先设置 git 大小写敏感来避免问题,参考:Mac 中 git 大小写问题的解决方案 | 山月行

Share 分享

现在前端开发中,TypeScript 占比越来越高,逐渐成为前端的主流开发工具。顺应潮流,我们一起来学习 TypeScript,把它加入自己的工具箱。

推荐阮一峰老师最新出品的《TypeScript 教程》

alt


Deguang
1.1k 声望154 粉丝

Write the code, change the world.