Algorithm 算法
- 67. 二进制求和
通过循环从后向前计算,判断加和数值是否需要进位
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('');
};
- 69. x 的平方根
按照二分查找,判断中值平方与目标值的大小,不超过目标值的最大值,即为答案
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:
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 教程》