美文网首页
ARTS WEEK 1

ARTS WEEK 1

作者: 我叫胆小我喜欢小心 | 来源:发表于2023-08-19 17:16 被阅读0次

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. 上线过程中在各个环境进行验证,上线完成后再次进行通知
  5. 上线之后需要检测相关feature的一些状态来进行衡量

Share 一个观点

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

相关文章

  • ARTS Week 1

    Algorithm: Problem: Reorder Log FilesAnswer: Review: (Not...

  • ARTS-WEEK1

    左耳听风ARTS 100天打卡计划 (1)Algorithm 每周至少做一个 leetcode 的算法题-为了编程...

  • ARTS-Week 1

    Algorithm 两数之和 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为...

  • ARTS Week 01

    Algorithm 题目 977. 有序数组的平方给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的...

  • ARTS Week 02

    Algorithm 832. 翻转图像 题目 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果...

  • ARTS Week 03

    Algorithm 905. 按奇偶排序数组 题目 给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的...

  • ARTS Week 06

    Algorithm 1021. 删除最外层的括号 有效括号字符串为空 ("")、"(" + A + ")" 或 A...

  • ARTS Week 04

    Algorithm 题目 922. 按奇偶排序数组 II 给定一个非负整数数组 A, A 中一半整数是奇数,一半整...

  • ARTS Week 05

    Algorithm 题目 771. 宝石与石头 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。...

  • ARTS-Week0

    每周完成一次 ARTS 编程挑战,坚持做有积累效应的事情。Algorithm:每周至少做一道 [LeetCode...

网友评论

      本文标题:ARTS WEEK 1

      本文链接:https://www.haomeiwen.com/subject/xrfnfqtx.html