每日一题做题记录,参考官方和三叶的题解

目录

  • 题目要求
  • 思路:枚举
    • 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.最大三角形面积【么的新知识】相关推荐

  1. JavaC++题解与拓展——leetcode728.自除数【跳出多层循环,vector at】

    每日一题做题记录,参考官方和三叶的题解 目录 题目要求 思路一:模拟 Java out C++ Python3 思路二:二分 Java C++ vector 思路三:哈希表 Java C++ 总结 题 ...

  2. JavaC++题解与拓展——leetcode398.随机数索引【水塘抽样学习】

    每日一题做题记录,参考官方和三叶的题解 文章目录 题目要求 思路一:模拟.哈希表 Java C++ 思路二:水塘抽样(蓄水池抽样) Java C++ 总结 题目要求 思路一:模拟.哈希表 把数组内容整 ...

  3. JavaC++题解与拓展——leetcode1823.找出游戏的获胜者【约瑟夫环】

    每日一题做题记录,参考官方和三叶的题解 目录 题目要求 思路一:模拟 Java C++ 思路二:递归 Java C++ 思路三:迭代 Java C++ Rust 总结 题目要求 [这个问题似乎叫做约瑟 ...

  4. JavaC++题解与拓展——leetcode310.最小高度树【复习链式前向星】

    每日一题做题记录,参考官方和三叶的题解 目录 题目要求 思路一:动态规划 Java 链式前向星 C++ 思路二:拓扑排序+BFS Java C++ 总结 题目要求 思路一:动态规划 遍历整个图,当前遍 ...

  5. 信息学奥赛一本通 2073:【例2.16 】三角形面积

    [题目链接] ybt 2073:[例2.16 ]三角形面积 [题目考点] 1. 算术应用题 2. 海伦公式求三角形面积 3. 输出浮点数a保留x位小数 printf(%.xf, a); cout< ...

  6. 信息学奥赛一本通 1034:计算三角形面积 | OpenJudge NOI 1.3 17

    [题目链接] ybt 1034:计算三角形面积 OpenJudge NOI 1.3 17:计算三角形面积 [题目考点] 1. 已知三点求三角形面积公式 已知三点分别为(x1,y1),(x2,y2),( ...

  7. 任务1、采用面向对象方式求三角形面积

    文章目录 任务1.采用面向对象方式求三角形面积 (一)编程实现 1.采用面向过程的思路 2.采用面向对象的思路 (二)讲解知识点 (三)拓展练习 任务1.创建学生类并测试 任务2.采用面向对象求解一元 ...

  8. 【数学】C037_有效的回旋镖(三角形面积公式 | 直线斜率)

    一.题目描述 A boomerang is a set of 3 points that are all distinct and not in a straight line. Given a li ...

  9. 已知空间中的三点 求三角形面积_【微专题】立体几何中的截面问题

    在立体几何考点中涉及到空间几何体的截面的地方较多,如:判断截面的形状.计算出空间几何体的截面周长或面积.或者求与之相关的体积问题.以及最值问题都在考察之列,但是要顺利地解决前面所提到的诸多问题,都必须 ...

最新文章

  1. implementation ‘com.zxy.android:recovery:
  2. Node Sass does not yet support your current environment
  3. 扩展Guava缓存溢出到磁盘
  4. mysql-multi source replication 配置
  5. 国内ERP技术公司综合
  6. android小米深色模式,小米深色模式开关
  7. bootstrap在线定制工具
  8. [lua]紫猫lua教程-命令宝典-L1-01-09. string字符串函数库
  9. 图像处理之双线性插值法
  10. homeassistant搭建_安卓环境home assistant搭建
  11. java将html代码格式化,java代码格式化为html
  12. 【自用记录向】YOLOv5模型训练,按进度更新
  13. earn the python in hard way习题31~35的附加习题
  14. 什么是SSD TRIM (by quqi99)
  15. 理解什么叫“自然拼读”
  16. 蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践读后感
  17. 他励直流电动机的机械特性
  18. 信息安全系统设计基础实验一
  19. adb bugreport :查看设备所有信息(获取错误报告)
  20. python求勾股定理_python入门学习随记(二)(勾股定理、球体积、利率、移位和进制转换、数字求和)...

热门文章

  1. sim卡的imisgid1gid2参数解释
  2. 大学生求职面试最忌讳的话
  3. hbase分布式部署
  4. 《视觉SLAM十四讲》手写高斯牛顿—笔记记录
  5. 美团2021届秋季校园招聘笔试真题解析:小团的复制粘贴
  6. Hibernate一级缓存管理-evict和clear的用法
  7. volumio怎么连接屏幕_如何将外接显示器连接到笔记本电脑
  8. 将excel中的多个工作表sheet合成一个工作表
  9. Quartz 基本使用
  10. matlab灰度归一化,[转载]matlab图像处理为什么要归一化和如何归一化?