2221. 数组的三角和
This commit is contained in:
parent
6e2610c882
commit
625be9225d
25
src/main.rs
25
src/main.rs
|
|
@ -2,28 +2,17 @@ mod arr;
|
|||
struct Solution {}
|
||||
|
||||
impl Solution {
|
||||
pub fn triangle_number(nums: Vec<i32>) -> i32 {
|
||||
if nums.len() < 3 {
|
||||
return 0;
|
||||
}
|
||||
let mut nums = nums;
|
||||
nums.sort();
|
||||
let mut ans = 0;
|
||||
for i in 0..nums.len() - 2 {
|
||||
let mut r = i + 2;
|
||||
for l in i + 1..nums.len() - 1 {
|
||||
while r < nums.len() && nums[i] + nums[l] > nums[r] {
|
||||
r += 1;
|
||||
}
|
||||
|
||||
ans += ((r - l) as i32 - 1).max(0);
|
||||
pub fn triangular_sum(mut nums: Vec<i32>) -> i32 {
|
||||
for i in 0.. nums.len() - 1 {
|
||||
for j in 0..nums.len() - 1 - i {
|
||||
nums[j] = (nums[j] + nums[j + 1]) % 10;
|
||||
}
|
||||
}
|
||||
ans
|
||||
nums[0]
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let arr = vec![7, 0, 0, 0];
|
||||
println!("{}", Solution::triangle_number(arr));
|
||||
let arr = vec![1,2,3,4,5];
|
||||
println!("{}", Solution::triangular_sum(arr));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue