CoolFace
Datasetpublic

TheRealSamuel/LeetCodeProblem

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes561downloads
1{2    "id": 2726,3    "name": "minimum_reverse_operations",4    "difficulty": "Hard",5    "link": "https://leetcode.com/problems/minimum-reverse-operations/",6    "date": "1679788800000",7    "task_description": "You are given an integer `n` and an integer `p` representing an array `arr` of length `n` where all elements are set to 0's, except position `p` which is set to 1. You are also given an integer array `banned` containing restricted positions. Perform the following operation on `arr`: Reverse a **subarray** with size `k` if the single 1 is not set to a position in `banned`. Return an integer array `answer` with `n` results where the `ith` result is_ _the **minimum** number of operations needed to bring the single 1 to position `i` in `arr`, or -1 if it is impossible. **Example 1:** **Input:** n = 4, p = 0, banned = [1,2], k = 4 **Output:** [0,-1,-1,1] **Explanation:** Initially 1 is placed at position 0 so the number of operations we need for position 0 is 0. We can never place 1 on the banned positions, so the answer for positions 1 and 2 is -1. Perform the operation of size 4 to reverse the whole array. After a single operation 1 is at position 3 so the answer for position 3 is 1. **Example 2:** **Input:** n = 5, p = 0, banned = [2,4], k = 3 **Output:** [0,-1,-1,-1,-1] **Explanation:** Initially 1 is placed at position 0 so the number of operations we need for position 0 is 0. We cannot perform the operation on the subarray positions `[0, 2]` because position 2 is in banned. Because 1 cannot be set at position 2, it is impossible to set 1 at other positions in more operations. **Example 3:** **Input:** n = 4, p = 2, banned = [0,1,3], k = 1 **Output:** [-1,-1,0,-1] **Explanation:** Perform operations of size 1 and 1 never changes its position. **Constraints:** `1 <= n <= 105` `0 <= p <= n - 1` `0 <= banned.length <= n - 1` `0 <= banned[i] <= n - 1` `1 <= k <= n ` `banned[i] != p` all values in `banned` are **unique**",8    "public_test_cases": [9        {10            "label": "Example 1",11            "input": "n = 4, p = 0, banned = [1,2], k = 4",12            "output": "[0,-1,-1,1] "13        },14        {15            "label": "Example 2",16            "input": "n = 5, p = 0, banned = [2,4], k = 3",17            "output": "[0,-1,-1,-1,-1] "18        },19        {20            "label": "Example 3",21            "input": "n = 4, p = 2, banned = [0,1,3], k = 1",22            "output": "[-1,-1,0,-1] "23        }24    ],25    "private_test_cases": [],26    "haskell_template": "minReverseOperations :: Int -> Int -> [Int] -> Int -> [Int]\nminReverseOperations n p banned k ",27    "ocaml_template": "let minReverseOperations (n: int) (p: int) (banned: int list) (k: int) : int list =  ",28    "scala_template": "def minReverseOperations(n: Int,p: Int,banned: List[Int],k: Int): List[Int] = { \n    \n}",29    "java_template": "public static List<Integer> minReverseOperations(int n, int p, List<Integer> banned, int k) {\n\n}",30    "python_template": "class Solution(object):\n    def minReverseOperations(self, n, p, banned, k):\n        \"\"\"\n        :type n: int\n        :type p: int\n        :type banned: List[int]\n        :type k: int\n        :rtype: List[int]\n        \"\"\"\n        "31}