• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

GoHired

Interview Questions asked in Google, Microsoft, Amazon

Join WeekEnd Online Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

  • Home
  • Best Java Books
  • Algorithm
  • Internship
  • Certificates
  • About Us
  • Contact Us
  • Privacy Policy
  • Array
  • Stack
  • Queue
  • LinkedList
  • DP
  • Strings
  • Tree
  • Mathametical
  • Puzzles
  • Graph

CodeChef’ RRCOPY

July 26, 2014 by Dhaval Dave

Def: 
You had an array of integer numbers. You also had a beautiful operations called “Copy-Paste” which allowed you to copy any contiguous sub-sequence of your array and paste it in any position of your array. For example, if you have array [1, 2, 3, 4, 5] and copy it’s sub-sequence from the second to the fourth element and paste it after the third one, then you will get [1, 2, 3, 2, 3, 4, 4, 5] array. You remember that you have done a finite(probably zero) number of such operations over your initial array and got an array A as a result. Unfortunately you don’t remember the initial array itself, so you would like to know what could it be. You are interested by the smallest such array. So the task is to find the minimal size(length) of the array that A can be obtained from by using “Copy-Paste” operations.
PS : This is CodeChef’s problemInput

The first line of the input contains an integer T denoting the number of test cases. The description of T test cases follows.
The first line of each test case contains a single integer N denoting the number of elements in obtained array A. The second line contains N space-separated integers A1, A2, …, AN denoting the array.

Example :
5 , 1 1 1 1 1
5 , 1 2 3 1 2

Output:
1
3

Explanation :
What we want here is to get exactly the count of unique number.
One way is to do with Two loops, for each number check whole string.
Second way is to create hash for each individual number and keep count.
Third and simple way is to keep a hash kind of array, for each single occurrence of a number w’ll just mark it True. and keep the counter.

Thanks to Dhaval for suggesting this approach and Code

Code :


#include <stdio.h>
#include <stdbool.h>

int rrcopy(int n, int a[]){
 int i=0,ans=0;
 bool c[100001]={0}; ans=0;
 for(i=0;i<n;i++){
  if(!c[a[i]]) {c[a[i]]=1;ans++; }
 }
 return ans;
}
int main(void) {
 int n;
 //int a[]={1,1,1}; //op 1
 int a[]={1,2,3,2,3,4,4,5}; //op 5
 //int a[]={1,2,3,2,3,5}; // op 4

 n=sizeof(a)/sizeof(int);
 int l=rrcopy(n,a);
 printf("min length %d",l);
 return l;
}

You can find it working at http://ideone.com/e.js/xuHuWk 

Similar Articles

Filed Under: Amazon Interview Question, Interview Questions, Microsoft Interview Questions, problem Tagged With: Array, codechef

Reader Interactions

Primary Sidebar

Join WeekEnd Online/Offline Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

Join WeekEnd Online/Offline Batch from 4-April-2020

WhatsApp us

Secondary Sidebar

Custom Search

  • How I cracked AMAZON
  • LeetCode
  • Adobe
  • Amazon
  • Facebook
  • Microsoft
  • Hacker Earth
  • CSE Interview

Top Rated Questions

Find Pythagorean Triplets in an array in O(N)

Check Binary Tree is Binary Search Tree or not

Trie Dictionary

Coin Collection Dynamic Programming

Print Power Set of a Set

How strtok() Works

Maximum path sum between two leaves

Maximum of all subarrays of size k

Binary Tree in Java

Implement LRU Cache

C++ OOPs Part1

Stock Buy Sell to Maximize Profit

System Design: Designing a LLD for Hotel Booking

flattens 2 D linked list to a single sorted link list

Find min element in Sorted Rotated Array (Without Duplicates)

Find two non repeating elements in an array of repeating elements

SAP Off Campus Hiring_ March 2015 Computer Skills

Reverse a Linked List in groups of given size

Skiing on Mountains Matrix

Python Dictionaries

SAP Hiring Off-Campus General Aptitude

Reliance Jio Software Developer Interview Experience

Python Array String

Amazon Interview On-Campus For Internship – 1

Right view of Binary tree

DFS (Depth First Search)

Introduction To Number Theory ( Part 1 )

HackeEarth Flipkart’s Drone

In Given LinkedList Divide LL in N Sub parts and delete first K nodes of each part

Minimum insertions to form a palindrome

Copyright © 2026 · Genesis Framework · WordPress · Log in