Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //https://www.hackerrank.com/challenges/ctci-array-left-rotation
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- class Solution {
- static void Main(String[] args) {
- string[] tokens_n = Console.ReadLine().Split(' ');
- int meret = Convert.ToInt32(tokens_n[0]);
- int d = Convert.ToInt32(tokens_n[1]);
- string[] a_temp = Console.ReadLine().Split(' ');
- int[] a = Array.ConvertAll(a_temp,Int32.Parse);
- //
- LeftRotation(meret, d, a);
- }
- static void LeftRotation(int meret, int d, int[] a){
- int[] kimenet = new int[meret];
- //először az d-edik elemet vesszük, mert ez lesz az új tömb első eleme, és az eredeti tömb végéig elmegyünk innen.
- for(int i = d; i < meret; i++){
- kimenet[i-d] = a[i];
- }
- //mikor a tömb végére értünk, azt jelenti hogy az eredeti tömb első elemétől kezdve kell folytatni az új tömb feltöltését
- for(int i = meret-d; i < meret; i++){
- kimenet[i] = a[i-(meret-d)];
- }
- //kiíratás
- for(int i = 0; i < meret-1; i++){
- Console.Write(kimenet[i] + " ");
- }
- //az utolsó elemet külön írjuk ki, hogy ne keletkezzen fölösleges space
- Console.Write(kimenet[meret-1]);
- }
- }
Add Comment
Please, Sign In to add comment