Interview Question Categories

ROTATE AN ARRAY BY N PLACES IN O(n)

ROTATE AN ARRAY BY N PLACES IN O(n)


/* Example : If arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} and n = 4
 * After rotating arr should be arr = {5, 6, 7, 8, 9, 10, 1, 2, 3, 4}
 */
namespace ShiftanArrayByNPlaces
{
    class Program
    {
        static void Main(string[] args)
        {
            int rotate = 4;
            List<int> li = new List<int>();
            li.Add(1);
            li.Add(2);
            li.Add(3);
            li.Add(4);
            li.Add(5);
            li.Add(6);
            li.Add(7);
            li.Add(8);
            li.Add(9);
            li.Add(10);
            li.Add(11);
            li.Add(12);

            li.Reverse();
            li.Reverse(0, li.Count-rotate);
            li.Reverse(li.Count-rotate, rotate);

            foreach (int a in li)
                Console.WriteLine(a);
        }
    }
}

No comments:

Post a Comment