Contents

ARST打卡第334周

Algorithm

lc812_最大三角形面积

思路:

  1. 枚举三角形的三个顶点,计算三角形面积,取最大值
  2. 计算三角形面积的公式为:
1
area = 0.5 * abs(x1 * y2 - x2 * y1 + x2 * y3 - x3 * y2 + x3 * y1 - x1 * y3)

其实更优的方式是用凸包算法,感兴趣的可以看题解。

好久不打比赛了,凸包算法也有点生疏了。人生每个阶段都有不同的侧重。

 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
impl Solution {
    pub fn largest_triangle_area(points: Vec<Vec<i32>>) -> f64 {
        let mut max_area = 0.0;
        for i in 0..points.len() {
            for j in i + 1..points.len() {
                for k in j + 1..points.len() {
                    max_area = Self::max(max_area, Self::area(&points[i], &points[j], &points[k]));
                }
            }
        }
        max_area
    }

    fn area(p1: &Vec<i32>, p2: &Vec<i32>, p3: &Vec<i32>) -> f64 {
        0.5 * (p1[0] as f64 * p2[1] as f64 - p2[0] as f64 * p1[1] as f64 + p2[0] as f64 * p3[1] as f64 - p3[0] as f64 * p2[1] as f64 + p3[0] as f64 * p1[1] as f64 - p1[0] as f64 * p3[1] as f64).abs()
    }

    fn max(a: f64, b: f64) -> f64 {
        if a > b {
            a
        } else {
            b
        }
    }
}

Review

喜爱猫是一种疾病吗?【TED-Ed】

虽然这种假想现在看起来很荒谬,但是在大家还没开始家养猫之前的很早的时代,确实有可能的。

Tip

能用linux跑程序别用macos跑

最近跑一些量化脚本,和一些服务器程序,用macos测试的时候都各种依赖问题,运行也有很多奇怪的状态。

因此建议还是连一个linux服务器跑程序比较好。

Share

《三生万物》阅读推荐

本书看宁高宁老师在华润,中粮,中化当领导人的人生经历,能够学到很多生活,商业,投资的认知和趣事。

感觉像是听了一场大佬的人生分享,精彩,满足。