मान लीजिए कि हमारे पास एक सरणी A है। हमें इसे k चरणों में घुमाना है। तो अगर सरणी ए =[5, 7, 3, 6, 8, 1, 5, 4], और के =3 है, तो आउटपुट [1,5,4,5,7,3,6] होगा। 8]. कदम इस प्रकार हैं
- [4,5,7,3,6,8,1,5]
- [5,4,5,7,3,6,8,1]
- [1,5,4,5,7,3,6,8]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे।
- चलो n सरणी का आकार है
- k =k मॉड n
- A =n - k से अंत तक A का उप-सरणी + A का 0 से n - k - 1 तक का उप-सरणी
आइए एक बेहतर समझ प्राप्त करने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution(object): def rotate(self, nums, k): """ :type nums: List[int] :type k: int :rtype: None Do not return anything, modify nums in-place instead. """ n = len(nums) k%=n nums[:] = nums[n-k:]+nums[:n-k] nums = [5,7,3,6,8,1,5,4] ob1 = Solution() ob1.rotate(nums, 3) print(nums)
इनपुट
nums = [5,7,3,6,8,1,5,4] k = 3
आउटपुट
[1,5,4,5,7,3,6,8]