55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | """
 | |||
|  | An array A consisting of N integers is given. Rotation of the array means that | |||
|  | each element is shifted right by one index, and the last element of the array | |||
|  | is moved to the first place. For example, the rotation of array A = [3, 8, 9, | |||
|  | 7, 6] is [6, 3, 8, 9, 7] (elements are shifted right by one index and 6 is | |||
|  | moved to the first place). | |||
|  | 
 | |||
|  | The goal is to rotate array A K times; that is, each element of A will be | |||
|  | shifted to the right K times. | |||
|  | 
 | |||
|  | Write a function: | |||
|  | 
 | |||
|  |     class Solution { public int[] solution(int[] A, int K); } | |||
|  | 
 | |||
|  | that, given an array A consisting of N integers and an integer K, returns the | |||
|  | array A rotated K times. | |||
|  | 
 | |||
|  | For example, given A = [3, 8, 9, 7, 6] | |||
|  |     K = 3 | |||
|  | 
 | |||
|  | the function should return [9, 7, 6, 3, 8]. Three rotations were made: | |||
|  |     [3, 8, 9, 7, 6] -> [6, 3, 8, 9, 7] | |||
|  |     [6, 3, 8, 9, 7] -> [7, 6, 3, 8, 9] | |||
|  |     [7, 6, 3, 8, 9] -> [9, 7, 6, 3, 8] | |||
|  | 
 | |||
|  | For another example, given | |||
|  |     A = [0, 0, 0] | |||
|  |     K = 1 | |||
|  | 
 | |||
|  | the function should return [0, 0, 0] | |||
|  | 
 | |||
|  | Given | |||
|  |     A = [1, 2, 3, 4] | |||
|  |     K = 4 | |||
|  | 
 | |||
|  | the function should return [1, 2, 3, 4] | |||
|  | 
 | |||
|  | Assume that: | |||
|  | 
 | |||
|  |         N and K are integers within the range [0..100]; | |||
|  |         each element of array A is an integer within the range [−1,000..1,000]. | |||
|  | 
 | |||
|  | In your solution, focus on correctness. The performance of your solution will | |||
|  | not be the focus of the assessment.  Copyright 2009–2020 by Codility Limited. | |||
|  | All Rights Reserved. Unauthorized copying, publication or disclosure | |||
|  | prohibited. | |||
|  | """
 | |||
|  | def solution(A, K): | |||
|  |     if len(A) in (0, 1): | |||
|  |         return A | |||
|  | 
 | |||
|  |     for _ in range(K): | |||
|  |         A = [A[-1]] + A[:-1] | |||
|  |     return A |