Compare commits
2 Commits
4692c200d8
...
6e2610c882
| Author | SHA1 | Date |
|---|---|---|
|
|
6e2610c882 | |
|
|
74255bbe8b |
43
src/main.rs
43
src/main.rs
|
|
@ -1,32 +1,29 @@
|
|||
mod arr;
|
||||
struct Solution;
|
||||
struct Solution {}
|
||||
|
||||
impl Solution {
|
||||
pub fn sort_vowels(s: String) -> String {
|
||||
let mut chars = vec![0;10];
|
||||
let mut indexs = vec![];
|
||||
let mut s : Vec<char> = s.chars().collect();
|
||||
for i in 0..s.len() {
|
||||
let c = s[i];
|
||||
let idx = "AEIOUaeiou".find(c);
|
||||
if let Some(idx) = idx {
|
||||
chars[idx] += 1;
|
||||
indexs.push(i);
|
||||
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);
|
||||
}
|
||||
}
|
||||
let mut i = 0;
|
||||
for j in 0..10 {
|
||||
let c = "AEIOUaeiou".chars().nth(j).unwrap();
|
||||
while chars[j] > 0 {
|
||||
chars[j] -= 1;
|
||||
s[indexs[i]] = c;
|
||||
i += 1;
|
||||
}
|
||||
}
|
||||
s.into_iter().collect()
|
||||
ans
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let sl = Solution::sort_vowels("lEetcOde".to_string());
|
||||
println!("{:?}", sl);
|
||||
let arr = vec![7, 0, 0, 0];
|
||||
println!("{}", Solution::triangle_number(arr));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue