2221. 数组的三角和

This commit is contained in:
li-chx 2025-09-30 10:27:27 +08:00
parent 6e2610c882
commit 625be9225d
1 changed files with 7 additions and 18 deletions

View File

@ -2,28 +2,17 @@ mod arr;
struct Solution {} struct Solution {}
impl Solution { impl Solution {
pub fn triangle_number(nums: Vec<i32>) -> i32 { pub fn triangular_sum(mut nums: Vec<i32>) -> i32 {
if nums.len() < 3 { for i in 0.. nums.len() - 1 {
return 0; for j in 0..nums.len() - 1 - i {
} nums[j] = (nums[j] + nums[j + 1]) % 10;
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);
} }
} }
ans nums[0]
} }
} }
fn main() { fn main() {
let arr = vec![7, 0, 0, 0]; let arr = vec![1,2,3,4,5];
println!("{}", Solution::triangle_number(arr)); println!("{}", Solution::triangular_sum(arr));
} }