diff --git a/README.md b/README.md index 56fb007..3ba2a3e 100644 --- a/README.md +++ b/README.md @@ -31,4 +31,5 @@ - [2024-05-20 把0移到末尾](./move-zeros) - [2024-05-21 满足target最小子数组长度](./min-sub-array-len) - [2024-05-22 找到最大可及的数字](./find-the-maximum-achievable-number) +- [2024-05-23 数组乘积的符号](./array-sign) diff --git a/array-sign/Cargo.lock b/array-sign/Cargo.lock new file mode 100644 index 0000000..34b3a1f --- /dev/null +++ b/array-sign/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "array-sign" +version = "0.1.0" diff --git a/array-sign/Cargo.toml b/array-sign/Cargo.toml new file mode 100644 index 0000000..76ed01e --- /dev/null +++ b/array-sign/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "array-sign" +version = "0.1.0" +edition = "2021" + +[dependencies] diff --git a/array-sign/src/main.rs b/array-sign/src/main.rs new file mode 100644 index 0000000..615837c --- /dev/null +++ b/array-sign/src/main.rs @@ -0,0 +1,8 @@ +mod solution; + +use crate::solution::Solution; +fn main() { + println!("Hello, world!{}", Solution::array_sign(vec![-1, -2, -3, -4, 3, 2, 1])); + + println!("Hello, world!{}", Solution::array_sign(vec![1, 3, 0, 5, 6])); +} diff --git a/array-sign/src/solution.rs b/array-sign/src/solution.rs new file mode 100644 index 0000000..dc8df17 --- /dev/null +++ b/array-sign/src/solution.rs @@ -0,0 +1,16 @@ +pub struct Solution; + +impl Solution { + pub fn array_sign(nums: Vec) -> i32 { + let mut result = 1; + for num in nums { + if num == 0 { + return 0; + } else if num < 0 { + result = -result; + } + + } + result + } +} \ No newline at end of file diff --git a/array-sign/title.md b/array-sign/title.md new file mode 100644 index 0000000..ff51434 --- /dev/null +++ b/array-sign/title.md @@ -0,0 +1 @@ +2024-05-23 数组乘积的符号