写点什么

ARTS Week 1

作者:Geek_c25301
  • 2023-08-20
    安徽
  • 本文字数:1158 字

    阅读完需:约 4 分钟

Algorithm 一道算法题

这周的算法题是 Closest Prime Numbers in Range,一开始的想法是说从前开后遍历,然后判断是否是质数,如果是质数就记录下来,然后在下一个质数出现的时候,判断是否是最小的,如果是最小的就更新结果。


一开始我判断质数的方法就是从 2 开始到这个数的一半,假如都没法整除,那么就是质数,但是这样的话,会超时,所以我就想到了一个优化的方法,就是从 2 开始到这个数的平方根,假如都没法整除,那么就是质数,这样的话,就不会超时了。


但是感觉用时还是比较长,所以我看了别的大佬的解法。一个优化是说,假如 gap 小于 3,那么就不用再判断了,因为不可能更小了。只加了一行代码,但是效果很明显。


还有一个可以做的优化是,把质数的判断放到一个数组里面,这样的话,就不用每次都判断了,但是这样的话,空间复杂度就会变高。


class Solution {    public int[] closestPrimes(int left, int right) {        int pre = 0, min = Integer.MAX_VALUE;        int[] res = new int[]{-1, -1};
for (int i = left; i <= right; i++) { if (isPrime(i)) { if (pre != 0 && min > i - pre) { res = new int[]{pre, i}; min = i - pre; if (min < 3) break; } pre = i; } }
return res; }
private boolean isPrime(int value) { if (value < 2) return false;
for (int i = 2; i < (int)Math.sqrt(value) + 1; i++) { if (value % i == 0) return false; }
return true; }}
复制代码

Review 一篇英文文章

因为最近工作涉及到前端工作比较多,然后前端 build 比较慢,所以就看了一篇关于 build performance 的文章 Keep webpack Fast: A Field Guide for Better Build Performance看完了但是还没有具体实践,之后要做的第一步就是看看怎么来 measure build 过程中的各个过程的一个时间。

Technique/Tips 一个技术点

在你负责上线某个 feature 的过程中,你需要做的事情包括以下几方面:


  1. 提前通知其他相关团队你要在这段时间进行上线,包括开发团队,支持团队等

  2. 组织好相关的测试工作,邀请不同的人参加 bug bash,在上线前尽量发现问题

  3. 提前准备好相关的文档,不管是测试相关的文档还是上线文档

  4. 上线过程中在各个环境进行验证,上线完成后再次进行通知

    上线之后需要检测相关 feature 的一些状态来进行衡量

Share 一个观点

假如想在工作中获得更大的成就,不仅说需要关注于上级给你分配的任务。也可以更多的去想想,你的上级或者你所开发的产品有什么痛点需要解决。然后在日常工作之外,去做一些相关的工作。比如关于 performance,reliability,revenue 这些。

发布于: 16 小时前阅读数: 5
用户头像

Geek_c25301

关注

还未添加个人签名 2022-03-19 加入

还未添加个人简介

评论

发布
暂无评论
ARTS Week 1_Geek_c25301_InfoQ写作社区