611. Valid Triangle Number三角形计数

[抄题]:

给定一个整数数组,在该数组中,寻找三个数,分别代表三角形三条边的长度,问,可以寻找到多少组这样的三个数来组成三角形?

[暴力解法]:

全部都用for循环

时间分析:

空间分析:

[思维问题]:

可以用两层循环:for循环中嵌套while,用过但是没意识

[一句话思路]:

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

[复杂度]:Time complexity: O() Space complexity: O()

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[关键模板化代码]:

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

[代码风格] :

原文地址:https://www.cnblogs.com/immiao0319/p/8496866.html

时间: 2024-10-10 08:10:05

611. Valid Triangle Number三角形计数的相关文章

[leetcode]611. Valid Triangle Number有效三角数

Given an array consists of non-negative integers, your task is to count the number of triplets chosen from the array that can make triangles if we take them as side lengths of a triangle. Example 1: Input: [2,2,3,4] Output: 3 Explanation: Valid combi

611. Valid Triangle Number

Given an array consists of non-negative integers, your task is to count the number of triplets chosen from the array that can make triangles if we take them as side lengths of a triangle. Example 1: Input: [2,2,3,4] Output: 3 Explanation: Valid combi

[LeetCode] Valid Triangle Number 合法的三角形个数

Given an array consists of non-negative integers, your task is to count the number of triplets chosen from the array that can make triangles if we take them as side lengths of a triangle. Example 1: Input: [2,2,3,4] Output: 3 Explanation: Valid combi

【leetcode】Valid Triangle Number

题目: Given an array consists of non-negative integers, your task is to count the number of triplets chosen from the array that can make triangles if we take them as side lengths of a triangle. Example 1: Input: [2,2,3,4] Output: 3 Explanation: Valid c

LeetCode题解之Valid Triangle Number

1.题目描述 2.问题分析 暴力计算 3.代码 1 int triangleNumber(vector<int>& nums) { 2 int res =0; 3 if( nums.size() < 3) 4 return res; 5 6 for( int i = 0; i < nums.size() -2; i++){ 7 for( int j = i+1; j < nums.size()-1; j++){ 8 for( int k = j +1; k <

洛谷 P2807 三角形计数

P2807 三角形计数 题目背景 三角形计数(triangle) 递推 题目描述 把大三角形的每条边n等分,将对应的等分点连接起来(连接线分别平行于三条边),这样一共会有多少三角形呢?编程来解决这个问题. 输入输出格式 输入格式: 第一行为整数t(≤100),表示测试数据组数:接下来t行,每行一个正整数n(≤500). 输出格式: 对于每个n,输出一个正整数,表示三角形个数. 输入输出样例 输入样例#1: 复制 3 1 2 3 输出样例#1: 复制 1 5 13 说明 n(≤500) t(≤10

D3D triangle list(三角形列) 小例子

画三角形列的例子程序 #pragma once #pragma comment(lib,"d3d9.lib") #pragma comment(lib,"d3dx9.lib") #include<d3d9.h> #include<d3dx9.h> //TODO: -1 custom vertex struct CUSTOMVERTEX { float x; float y; float z; float rhw; }; #define D3D

Acdream 1203 KIDx&#39;s Triangle(解三角形)

题目链接:传送门 分析 给定角a,b,c,d.然后求角AED,这题其实就是高中的计算几何解三角形题目. 正弦定理: A/sin(A) = B/sin(B) = C/sin(C)=2*R (R为三角形外接圆的半径) 余弦定理:A^2 = B^2 + C^2 - 2*B*C*cos(A). 然后我们设AB = x ,然后可以通过正弦定理求出AD,BD,BE,AE,然后通过余弦定理 可以求出DE最后在通过正弦定理就可以求出角AED.需要注意的是asin()的范围为 [-pi/2,pi/2],我们得到的

Java实现三角形计数

题: 解: 这道题考的是穷举的算法. 一开始看到这道题的时候,本能的想到用递归实现.但使用递归的话数据少没问题,数据多了之后会抛栈溢出的异常.我查了一下,原因是使用递归创建了太多的变量, 每个变量创建的时候都会有一个“栈帧”,而Java虚拟机对栈帧有限制,不能超出一个范围. 并且递归和循环相比,递归的效率明显比循环低下,如果想要写一个算法的话,尽量不要使用递归,一方面是因为递归会创建很多变量,占用内存,另一方面是递归极容 易无限递归. --------------- 最后使用循环嵌套的方式完成了