ARTS-第12周

ARTS (第12周)

最近感觉,越是深入学习,越能发现数学的重要性。

比如专栏,很多地方的公式推导,都是数学。

Algorithm 算法

最后一个单词的长度

给定一个仅包含大小写字母和空格 ‘ ‘ 的字符串,返回其最后一个单词的长度。

如果不存在最后一个单词,请返回 0 。

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

示例:

输入: “Hello World”
输出: 5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

这题做完后,发现和别人的高效率答案思路惊人的一致。

思路:

第一个循环从末尾开始求出第一个非空格的坐标。

第二个循环就开始计算单词长度了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//最后一个单词的长度
//https://leetcode-cn.com/problems/length-of-last-word/submissions/
public static int lengthOfLastWord(String s) {
if(s==null || "".equals(s)){
return 0;
}
int r = 0;
int e = s.length() - 1;
while(e >= 0&&s.charAt(e)==' '){
e--;
}
while(e >= 0&&s.charAt(e--)!=' '){
r++;
}
return r;
}

Review 英文文章

http://kafka.apache.org/quickstart

kafka的简单介绍和快速开始

Tip 技巧

极客时间的专栏《数据结构与算法之美》

本周学习了该专栏中的28-30篇

1、学习了堆和堆排序

堆结构:类似二叉树结构,但每个节点只保证子节点比自己大(大顶堆为大,小顶堆为小)。因此大顶堆的堆顶就是最大值。小顶堆的堆顶则为最小。

堆排序:利用堆结构排序,首先构造一个堆,然后不断从堆中获取堆顶,获取完堆顶后删除堆顶,这样获取来的数就是有序的。

2、图结构

(1)邻接矩阵:可以用一个二维数组来表示,如果顶点 i 与顶点 j 之间有边,我们就将 A [i] [j] 和a [j] [i]标记为1,如果是有权重等要求 标记值可以按照要求设定。

(2)邻接表:用链表表示,保存和当前用户有关联的对象,用链表保存。

出处:《数据结构与算法之美》(作者:王争)

https://time.geekbang.org/column/intro/126

Share 分享

https://blog.csdn.net/qq_17776287/article/details/91059654

java诊断工具 Arthas