ARTS-6

ARTS是由左耳朵耗子陈皓在极客时间专栏《左耳听风》中发起的一个每周学习打卡计划。

1
2
3
4
5
6
7
Algorithm:至少做一个 LeetCode 的算法题。主要为了编程训练和学习。

Review :阅读并点评至少一篇英文技术文章。主要为了学习英文,如果你英文不行,很难成为技术高手。

Tip:学习至少一个技术技巧。主要是为了总结和归纳你日常工作中所遇到的知识点。

Share:分享一篇有观点和思考的技术文章。主要为了输出你的影响力,能够输出你的价值观。

Algorithm(算法)

leetcode 414. 第三大的数

https://leetcode-cn.com/problems/third-maximum-number/

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
public class Solution {
public int thirdMax(int[] nums) {
// 存储最大
Integer max1 = null;
// 存储第二大
Integer max2 = null;
// 存储第三大
Integer max3 = null;
for (Integer num : nums) {
// 去重,如果已经存在就跳过
if (num.equals(max1) || num.equals(max2) || num.equals(max3)) continue;
// 先比较最大的,成功就把值向后传递,把第三大的丢掉 当 max1 == null 时直接将 num 赋值给 最大值max1
if (max1 == null || num > max1) {
max3 = max2;
max2 = max1;
max1 = num;
} else if (max2 == null || num > max2) { // 第一个判断没中,判断是不是第二大的,注意值不能等于最大,这是为了防止重复 当 max2 == null 时直接将 num 赋值给 第二大值 max2
max3 = max2;
max2 = num;
} else if (max3 == null || num > max3) { // 同上 当 max3 == null 时直接将 num 赋值给 第三大值 max3
max3 = num;
}
}
return max3 == null ? max1 : max3; // 判断第三大的数存不存在, 不存在返回最大数.
}
}

Review(点评)

我希望在我开始编程之前就知道的30件事(翻译)

Tip(技巧)

inner join 可以改为使用where进行隐形连接

SELECT * FROM A ,B WHERE A.ID = B.ID 是比较常用的2个表关联。where是隐形连接,而inner join是比较符合数据库语言发展的显性连接。而且,更详细的资料表明:常用数据库会自动把where转换成inner join 。

Share(分享)

走进JVM Java内存布局

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2023 高行行
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信