JavaC++题解与拓展——leetcode812.最大三角形面积【么的新知识】
每日一题做题记录,参考官方和三叶的题解 |
目录
- 题目要求
- 思路:枚举
- Java
- C++
- Rust
- 总结
题目要求
思路:枚举
- 兜兜转转考虑了一圈,结果发现是暴力模拟……
Java
class Solution {public double largestTriangleArea(int[][] points) {int n = points.length;double res = 0;for(int i = 0; i < n; i++) {for(int j = i + 1; j < n; j++) {for(int k = j + 1; k < n; k++) {int cur = (points[j][0] - points[i][0]) * (points[k][1] - points[i][1]) - (points[j][1] - points[i][1]) * (points[k][0] - points[i][0]); // 叉乘计算所构成四边形的面积res = Math.max(res, Math.abs(cur / 2.0));}}}return res;}
}
- 时间复杂度:O(n3)O(n^3)O(n3)
- 空间复杂度:O(1)O(1)O(1)
C++
class Solution {public:double largestTriangleArea(vector<vector<int>>& points) {int n = points.size();double res = 0;for(int i = 0; i < n; i++) {for(int j = i + 1; j < n; j++) {for(int k = j + 1; k < n; k++) {int cur = (points[j][0] - points[i][0]) * (points[k][1] - points[i][1]) - (points[j][1] - points[i][1]) * (points[k][0] - points[i][0]); // 叉乘计算所构成四边形的面积res = max(res, abs(cur / 2.0));}}}return res;}
};
- 时间复杂度:O(n3)O(n^3)O(n3)
- 空间复杂度:O(1)O(1)O(1)
Rust
impl Solution {pub fn largest_triangle_area(points: Vec<Vec<i32>>) -> f64 {let n = points.len();let mut res : f64 = 0.0;for i in (0..n) {for j in ((i + 1)..n) {for k in ((j + 1)..n) {let mut cur : f64 = ((points[j][0] - points[i][0]) * (points[k][1] - points[i][1]) - (points[j][1] - points[i][1]) * (points[k][0] - points[i][0])) as f64; // 叉乘计算所构成四边形的面积res = res.max(cur.abs() / 2.0)}}}res}
}
- 时间复杂度:O(n3)O(n^3)O(n3)
- 空间复杂度:O(1)O(1)O(1)
总结
模拟总结个毛线
似乎逐渐开始懂得Rust了,such as变量定义与类型转换~生读代码也是有用的呀
欢迎指正与讨论! |
JavaC++题解与拓展——leetcode812.最大三角形面积【么的新知识】相关推荐
- JavaC++题解与拓展——leetcode728.自除数【跳出多层循环,vector at】
每日一题做题记录,参考官方和三叶的题解 目录 题目要求 思路一:模拟 Java out C++ Python3 思路二:二分 Java C++ vector 思路三:哈希表 Java C++ 总结 题 ...
- JavaC++题解与拓展——leetcode398.随机数索引【水塘抽样学习】
每日一题做题记录,参考官方和三叶的题解 文章目录 题目要求 思路一:模拟.哈希表 Java C++ 思路二:水塘抽样(蓄水池抽样) Java C++ 总结 题目要求 思路一:模拟.哈希表 把数组内容整 ...
- JavaC++题解与拓展——leetcode1823.找出游戏的获胜者【约瑟夫环】
每日一题做题记录,参考官方和三叶的题解 目录 题目要求 思路一:模拟 Java C++ 思路二:递归 Java C++ 思路三:迭代 Java C++ Rust 总结 题目要求 [这个问题似乎叫做约瑟 ...
- JavaC++题解与拓展——leetcode310.最小高度树【复习链式前向星】
每日一题做题记录,参考官方和三叶的题解 目录 题目要求 思路一:动态规划 Java 链式前向星 C++ 思路二:拓扑排序+BFS Java C++ 总结 题目要求 思路一:动态规划 遍历整个图,当前遍 ...
- 信息学奥赛一本通 2073:【例2.16 】三角形面积
[题目链接] ybt 2073:[例2.16 ]三角形面积 [题目考点] 1. 算术应用题 2. 海伦公式求三角形面积 3. 输出浮点数a保留x位小数 printf(%.xf, a); cout< ...
- 信息学奥赛一本通 1034:计算三角形面积 | OpenJudge NOI 1.3 17
[题目链接] ybt 1034:计算三角形面积 OpenJudge NOI 1.3 17:计算三角形面积 [题目考点] 1. 已知三点求三角形面积公式 已知三点分别为(x1,y1),(x2,y2),( ...
- 任务1、采用面向对象方式求三角形面积
文章目录 任务1.采用面向对象方式求三角形面积 (一)编程实现 1.采用面向过程的思路 2.采用面向对象的思路 (二)讲解知识点 (三)拓展练习 任务1.创建学生类并测试 任务2.采用面向对象求解一元 ...
- 【数学】C037_有效的回旋镖(三角形面积公式 | 直线斜率)
一.题目描述 A boomerang is a set of 3 points that are all distinct and not in a straight line. Given a li ...
- 已知空间中的三点 求三角形面积_【微专题】立体几何中的截面问题
在立体几何考点中涉及到空间几何体的截面的地方较多,如:判断截面的形状.计算出空间几何体的截面周长或面积.或者求与之相关的体积问题.以及最值问题都在考察之列,但是要顺利地解决前面所提到的诸多问题,都必须 ...
最新文章
- implementation ‘com.zxy.android:recovery:
- Node Sass does not yet support your current environment
- 扩展Guava缓存溢出到磁盘
- mysql-multi source replication 配置
- 国内ERP技术公司综合
- android小米深色模式,小米深色模式开关
- bootstrap在线定制工具
- [lua]紫猫lua教程-命令宝典-L1-01-09. string字符串函数库
- 图像处理之双线性插值法
- homeassistant搭建_安卓环境home assistant搭建
- java将html代码格式化,java代码格式化为html
- 【自用记录向】YOLOv5模型训练,按进度更新
- earn the python in hard way习题31~35的附加习题
- 什么是SSD TRIM (by quqi99)
- 理解什么叫“自然拼读”
- 蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践读后感
- 他励直流电动机的机械特性
- 信息安全系统设计基础实验一
- adb bugreport :查看设备所有信息(获取错误报告)
- python求勾股定理_python入门学习随记(二)(勾股定理、球体积、利率、移位和进制转换、数字求和)...