# Dimple在左耳听风ARTS打卡（十四）

### Algorithm LeetCode算法

```输入: a = "11", b = "1"

```

```输入: a = "1010", b = "1011"

```

```// 运行时补位
public static String addBinary(String a,String b) {
StringBuilder sb = new StringBuilder();
int lenA = a.length();
int lenB = b.length();
int ca = 0;
for (int i = lenA - 1,j = lenB - 1; i >=0 || j >= 0 ;i--,j--) {
int sum = ca;
int aResult = i >= 0 ? a.charAt(i) - '0' : 0;
sum += aResult;
int bResult = j >= 0 ? b.charAt(j) - '0' : 0;
sum += bResult;
sb.append(sum % 2);
ca = sum / 2;
}
sb.append(ca == 1 ? ca : "");
return sb.reverse().toString();
}

// 先补位，再进行计算
public static String addBinary1(String a,String b) {
StringBuilder sb = new StringBuilder();
int lenA = a.length();
int lenB = b.length();
while (lenA < lenB) {
sb.insert(0, '0');
++lenA;
}
a = sb.append(a).toString();

sb = new StringBuilder();
while (lenB < lenA) {
sb.insert(0, '0');
++lenB;
}
b = sb.append(b).toString();

System.out.println("a == " + a + " b = " + b);
sb = new StringBuilder();
int carry = 0;
for (int i = a.length() - 1; i >= 0; i--) {
char a1 = a.charAt(i);
char b1 = b.charAt(i);
int sum = Integer.valueOf(a1 + "") + Integer.valueOf(b1 + "") + carry;
if (sum >= 2) {
carry = 1;
sb.append((sum % 2));
} else {
carry = 0;
sb.append(sum);
}
}

if (carry == 1) {
sb.append("1");
}
return sb.reverse().toString();
}
```

### Review 阅读并点评至少一篇英文文章

Five important lessons from four years as a software developer (https://medium.com/free-code-camp/five-important-lessons-from-four-years-as-a-software-developer-9b367f256226)

• Never Assume
1. Never assume that someone will do something just because you’ve asked them to.
2. Never assume someone understands what you’ve told them, even if they say they do.
3. Never assume the other party is wrong.
• The non-technical problems are the most difficult
• Think first, code later
• What you create is more important than the tools used to create it
• Every role is equally important

### Tip 一个技术技巧

1. 无线网络

1. I/O 模型
2. 数据处理

#### 网络性能评估

1. 延迟与带宽

• 延迟：数据从信息源发送到目的地所需的时间
• 带宽：逻辑或物理通信路径最大的吞吐量
1. 性能测量

• 吞吐量：网络接口接收和传输的每秒字节数
• 延迟：系统调用发送/接收延时、连接延迟、首包延迟、网络往返等
• 连接数：每秒的连接数
• 错误：丢包计数、超时等

strace

netstat

ifconfig

ip

ping

traceroute

tcpdump

《Web性能权威指南》第一句话合格的开发者知道怎么做，而优秀的开发者知道为什么那么做

0 条评论

• ### 听说你在等我的ARTS

掐指一算，这应该是祖国妈妈生日之前最后一篇关于ARTS的打卡系列。每次周四，都感觉自己压力好大，准备资料、写算法肯定都得提前做，不然周四当天，我肯定没法完成。

• ### Dimple在左耳听风ARTS打卡（二十三）

所谓ARTS：每周至少做一个LeetCode的算法题；阅读并点评至少一篇英文技术文章；学习至少一个技术技巧；分享一篇有观点和思考的技术文章。（也就是Algori...

• ### Dimple在左耳听风ARTS打卡（第一期）

参加了左耳听风的ARTS打卡，坚持一个月，对自己会有什么情况呢，我不知道，但我会照着这个目标坚持下去，坚持100天。一个习惯养成是21天，那如果坚持100天，效...

• ### String - 316. Remove Duplicate Letters

Given a string which contains only lowercase letters, remove duplicate letters s...

• ### Android自定义View实现拖拽效果

腾讯QQ有那种红点拖动效果，今天就来实现一个简单的自定义View拖动效果，再回到原处，并非完全仿QQ红点拖动。

• ### Android EditTextView 实现带空格分隔的输入(电话号码,银行卡)

When an object of a type is attached to an Editable, its methods will be called ...

• ### 算法和数据结构: 十二 无向图相关算法基础

从这篇文章开始介绍图相关的算法，这也是Algorithms在线课程第二部分的第一次课程笔记。

• ### 挑战程序竞赛系列（25）：3.5最大权闭合图

版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.csdn.n...

• ### HDU 1166 敌兵布阵

http://acm.hdu.edu.cn/showproblem.php?pid=1166