前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第6期 ARTS 打卡计划

第6期 ARTS 打卡计划

作者头像
闻人的技术博客
发布2020-07-01 16:05:33
3840
发布2020-07-01 16:05:33
举报
文章被收录于专栏:程序员闻人

ARTS 起源

关于 ARTS:一个需要持续地坚持的高效学习项目,每周写一个ARTS:Algorithm 是一道算法题,Review 是读一篇英文文章,Technique/Tips 是分享一个小技术,Share 是分享一个观点。

本周 ARTS
  • A:长度最小的子数组
  • R:Instagram Engineering’s 3 rules to a scalable cloud application architecture
  • T:排查 Linux 网络问题的常用工具
  • S:从 0 开始学大数据之 Hadoop 大数据原理与架构

Algorithm:长度最小的子数组

来源:LeetCode 209. 长度最小的子数组

难度中等359收藏分享切换为英文关注反馈 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。 示例: 输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的连续子数组。 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

思路:双指针法 & 滑动窗口

用一个双指针构成的滑动窗口来计算该子数组,滑动窗口的左边界为 start=0,有边界为 end=0 为起点,先遍历 end,如果发现子数组大于等于 s,那么 start+=1,继续遍历 end,用一个变量 min 记录窗口的大小,当 nums[start,end+1] 的和大于等于 s,的时候,记录 end-start+1 子数组长度。

代码语言:javascript
复制
public class Solution {

    public int minSubArrayLen(int s, int[] nums) {
        int min = Integer.MAX_VALUE;
        if (nums.length == 0) {
            return 0;
        }
        int start = 0, end = 0;
        int sum = 0;
        while (end < nums.length) {
            sum += nums[end++];
            while (sum >= s) {
                min = Math.min(min, end - start);
                sum -= nums[start++];
            }
        }
        return min == Integer.MAX_VALUE ? 0 : min;
    }

}

Review:Instagram Engineering’s 3 rules to a scalable cloud application architecture

主题:架构设计

https://medium.com/@DataStax/instagram-engineerings-3-rules-to-a-scalable-cloud-application-architecture-c44afed31406

评论:如何建立可扩展的云应用架构

文章介绍了图片社群应用软件 Instagram 在自身业务快速成长过程中关于建立可扩展的云应用架构的三个原则:

  • 尽可能使用已经被验证且可靠的技术。
  • 不要重复发明轮子,善于利用已有的资源。
  • 保持简单,解决需求问题的方式尽量简单,并用部分数据迁移 Cassandra 的案例进行了说明。

Tip:排查 Linux 网络问题的常用工具

主题:工具
Linux 网络诊断工具
  • ping:测试当前主机与目标主机之间的网络是否正常。
  • traceroute:追踪访问目标主机网络的路由过程。
  • mtr:结合 ping 和 traceroute 功能的网络诊断工具。
  • nslookup:解析目标域名所对应的 ip。
  • telnet:检查服务的通信端口的是否可以连接。
  • tcpdump:对网络上的数据包进行截获和分析。
  • netstat:检查服务的通信端口的状态,常用命令参数 netstat -ntpl
  • ss:作用和使用参数都跟 netstat 相似,会有进程号显示。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 闻人的技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ARTS 起源
    • 本周 ARTS
    • Algorithm:长度最小的子数组
      • 来源:LeetCode 209. 长度最小的子数组
        • 思路:双指针法 & 滑动窗口
        • Review:Instagram Engineering’s 3 rules to a scalable cloud application architecture
          • 主题:架构设计
            • 评论:如何建立可扩展的云应用架构
            • Tip:排查 Linux 网络问题的常用工具
              • 主题:工具
                • Linux 网络诊断工具
                相关产品与服务
                大数据
                全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档