写点什么

ARTS 打卡 第 1 周

用户头像
引花眠
关注
发布于: 2020 年 05 月 25 日

ARTS简介

Algorithm 是一道算法题,Review 是读一篇英文文章,Technique/Tips 是分享一个小技术,Share 是分享一个观点。

Algorithm

Leecode-2 两数相加

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 2. 两数相加

使用java解题,这是我第二次提交的算法:

/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode first = new ListNode(0);
ListNode result = first;
int carry = 0;
int sum = 0;
while (l1 != null || l2 != null || carry != 0) {
sum = (l1 != null ? l1.val : 0) + (l2 != null ? l2.val : 0) + carry;
first.next = new ListNode(sum % 10);
carry = sum / 10;
l1 = (l1 != null ? l1.next : null);
l2 = (l2 != null ? l2.next : null);
first = first.next;
}
return result.next;
}
}


在解决这个算法问题的时候,基本思路,就是两个链表作循环将其元素相加,其中有几点需要注意:

  1. 需要判断链表是否为空

  2. 需要添加对进位的判断,第一次提交的时候忘记对这一点进行考虑了,测试数据是[5],[5],然后输出的结果成了[0]

Review

学习-微服务架构模式系列,网站地址是:https://microservices.io

单体架构-Pattern: Monolithic Architecture

这篇文章的主要介绍了单体架构模式:

单体架构模式是实现应用的一种模式,其将所有的业务逻辑都是在一个包中, 一起部署,一起运行。

其好处是:

  1. 开发简单,所有的IDE都支持

  2. 部署容易,只有一个部署文件

  3. 容易扩容,复制多份很容易扩容

不足之出是,当单体架构膨胀到一定的规模之后:

  1. 对开发人员不友好,尤其是新入职员工,不容易开发和理解

  2. 减慢IDE的操作

  3. 更慢的启动时间

  4. 很难持续发布

  5. 很难扩容,只能在一个维度扩容,增加程序的复制。各个模块共享相同的资源(内存,数据库等),而不同的模块可能对这些的需求不一样

  6. 阻碍增加开发人员,所有团队必须要知道其他团队的改动,每个团队不能独立的开发

  7. 技术更新需要很长时间,强制将应用绑定到了特定的技术

Tips

记录我对于Linux的学习,从磁盘相关的命令开始:

ps:”~” 表示为 home 目录,”.” 则是表示目前所在的目录,”..” 则表示当前目录的上一层目录

cd 这个命令大家应该是经常用的,比如

#跳到自己的home目录
cd ~
#跳到当前目录的上一层
cd ..

当使用cd命令时,可以通过使用Tab键来查看当前目录下的文件

Share

分享最近对计算机基础的复习,这次分享的是字符与编码,可能会有不足之处,之后会根据理解继续修改。



发布于: 2020 年 05 月 25 日阅读数: 114
用户头像

引花眠

关注

还未添加个人签名 2018.06.11 加入

还未添加个人简介

评论

发布
暂无评论
ARTS打卡 第1周