diff --git a/solution/3600-3699/3644.Maximum K to Sort a Permutation/README.md b/solution/3600-3699/3644.Maximum K to Sort a Permutation/README.md index f3285ca341ee9..7d64b789043df 100644 --- a/solution/3600-3699/3644.Maximum K to Sort a Permutation/README.md +++ b/solution/3600-3699/3644.Maximum K to Sort a Permutation/README.md @@ -83,25 +83,74 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3600-3699/3644.Ma #### Python3 ```python - +class Solution: + def sortPermutation(self, nums: List[int]) -> int: + ans = -1 + for i, x in enumerate(nums): + if i != x: + ans &= x + return max(ans, 0) ``` #### Java ```java - +class Solution { + public int sortPermutation(int[] nums) { + int ans = -1; + for (int i = 0; i < nums.length; ++i) { + if (i != nums[i]) { + ans &= nums[i]; + } + } + return Math.max(ans, 0); + } +} ``` #### C++ ```cpp - +class Solution { +public: + int sortPermutation(vector& nums) { + int ans = -1; + for (int i = 0; i < nums.size(); ++i) { + if (i != nums[i]) { + ans &= nums[i]; + } + } + return max(ans, 0); + } +}; ``` #### Go ```go +func sortPermutation(nums []int) int { + ans := -1 + for i, x := range nums { + if i != x { + ans &= x + } + } + return max(ans, 0) +} +``` +#### TypeScript + +```ts +function sortPermutation(nums: number[]): number { + let ans = -1; + for (let i = 0; i < nums.length; ++i) { + if (i != nums[i]) { + ans &= nums[i]; + } + } + return Math.max(ans, 0); +} ``` diff --git a/solution/3600-3699/3644.Maximum K to Sort a Permutation/README_EN.md b/solution/3600-3699/3644.Maximum K to Sort a Permutation/README_EN.md index 2e106e14b9cee..4693381ccc787 100644 --- a/solution/3600-3699/3644.Maximum K to Sort a Permutation/README_EN.md +++ b/solution/3600-3699/3644.Maximum K to Sort a Permutation/README_EN.md @@ -81,25 +81,74 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3600-3699/3644.Ma #### Python3 ```python - +class Solution: + def sortPermutation(self, nums: List[int]) -> int: + ans = -1 + for i, x in enumerate(nums): + if i != x: + ans &= x + return max(ans, 0) ``` #### Java ```java - +class Solution { + public int sortPermutation(int[] nums) { + int ans = -1; + for (int i = 0; i < nums.length; ++i) { + if (i != nums[i]) { + ans &= nums[i]; + } + } + return Math.max(ans, 0); + } +} ``` #### C++ ```cpp - +class Solution { +public: + int sortPermutation(vector& nums) { + int ans = -1; + for (int i = 0; i < nums.size(); ++i) { + if (i != nums[i]) { + ans &= nums[i]; + } + } + return max(ans, 0); + } +}; ``` #### Go ```go +func sortPermutation(nums []int) int { + ans := -1 + for i, x := range nums { + if i != x { + ans &= x + } + } + return max(ans, 0) +} +``` +#### TypeScript + +```ts +function sortPermutation(nums: number[]): number { + let ans = -1; + for (let i = 0; i < nums.length; ++i) { + if (i != nums[i]) { + ans &= nums[i]; + } + } + return Math.max(ans, 0); +} ``` diff --git a/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.cpp b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.cpp new file mode 100644 index 0000000000000..8de9a900c43c3 --- /dev/null +++ b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.cpp @@ -0,0 +1,12 @@ +class Solution { +public: + int sortPermutation(vector& nums) { + int ans = -1; + for (int i = 0; i < nums.size(); ++i) { + if (i != nums[i]) { + ans &= nums[i]; + } + } + return max(ans, 0); + } +}; diff --git a/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.go b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.go new file mode 100644 index 0000000000000..f4867834a1b58 --- /dev/null +++ b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.go @@ -0,0 +1,9 @@ +func sortPermutation(nums []int) int { + ans := -1 + for i, x := range nums { + if i != x { + ans &= x + } + } + return max(ans, 0) +} diff --git a/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.java b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.java new file mode 100644 index 0000000000000..a7158b40f4494 --- /dev/null +++ b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.java @@ -0,0 +1,11 @@ +class Solution { + public int sortPermutation(int[] nums) { + int ans = -1; + for (int i = 0; i < nums.length; ++i) { + if (i != nums[i]) { + ans &= nums[i]; + } + } + return Math.max(ans, 0); + } +} diff --git a/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.py b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.py new file mode 100644 index 0000000000000..8ccc420076c77 --- /dev/null +++ b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.py @@ -0,0 +1,7 @@ +class Solution: + def sortPermutation(self, nums: List[int]) -> int: + ans = -1 + for i, x in enumerate(nums): + if i != x: + ans &= x + return max(ans, 0) diff --git a/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.ts b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.ts new file mode 100644 index 0000000000000..46cd80be0b4b8 --- /dev/null +++ b/solution/3600-3699/3644.Maximum K to Sort a Permutation/Solution.ts @@ -0,0 +1,9 @@ +function sortPermutation(nums: number[]): number { + let ans = -1; + for (let i = 0; i < nums.length; ++i) { + if (i != nums[i]) { + ans &= nums[i]; + } + } + return Math.max(ans, 0); +}