# 第二十九周ARTS总结
# Algorithm
0ms | 100.00% Run time
37.9MB | 100.00% Memory
public int searchInsert(int[] nums, int target) {
    // 如果数组是空的,那索引就是0
    if (nums.length == 0) {
        return 0;
    }
    int left = 0;
    int right = nums.length - 1;
    // 如果找到了,就return;如果没找着,则right-left=1
    while (right - left > 1) {
        int middle = (left + right) / 2;
        if (target == nums[middle]) {
            return middle;
        } else if (target > nums[middle]) {
            left = middle;
        } else {
            right = middle;
        }
    }
    if (target <= nums[left]) {
        return left;
    } else if (target <= nums[right]) {
        return right;
    } else {
        return right + 1;
    }
}
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Review
- Top 10 Android Libraries Every Android Developer Should Know About (opens new window) 
笔记:这篇博客介绍的三方库都非常的具有研究意义。
 
# Tip
- Android值得研究的一些三方库
- Retrofit:
Retrofit是类型安全的HTTP客户端,可让您将REST API定义为接口; - Moshi:
Moshi是一个将JSON转换为Java和Kotlin模型的库; - Chuck:
Chuck是Android的HTTP检查器,可让您在手机上挖掘应用程序的HTTP历史记录; - Glide:
Glide是一个图像加载库,它公开了一个不错的API,可让您随意转换图像; - ThreeTen:
ThreeTen是适用于Android的日期和时间处理库; - Timber:
Timber是功能强大但简单的日志记录库,建立在Log类的顶部; - Room:
Room是官方的Android ORM; - RxJava:
RxJava是ReactiveX API的Java实现,使您可以将异步任务和事件链接到可观察的序列中; - Android KTX:
Android KTX是Kotlin扩展的集合,包装了Android API,使其更加用户友好; - Dagger:
Dagger是一个完全静态的编译时依赖项注入框架。 
 - Retrofit:
 
# Share
暂无内容