Algorithm
lc812_最大三角形面积
思路:
- 枚举三角形的三个顶点,计算三角形面积,取最大值
- 计算三角形面积的公式为:
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
《三生万物》阅读推荐
本书看宁高宁老师在华润,中粮,中化当领导人的人生经历,能够学到很多生活,商业,投资的认知和趣事。
感觉像是听了一场大佬的人生分享,精彩,满足。