Connecting Tech Pros Worldwide Forums | Help | Site Map

Array Programming Questions:

William
Guest
 
Posts: n/a
#1: Jul 23 '05
I would appreciate your help on the following programming questions:

1. Given an array of length N containing integers between 1 and N,
determine if it contains any duplicates.
HINT: [Is there an O(n) time solution that uses only O(1) extra space and
does not destroy the original array?]

The solution is:
http://domino.research.ibm.com/Comm/...nuary2004.html

but I don't understand what they meant by "Let f(x) be the location of the
array at address x."


2. Sort an array of size n containing integers between 1 and K, given a
temporary scratch integer array of size K.
HINT: Compute cumulative counts of integers in the auxiliary array. Now
scan the original array, rotating cycles!


3. An array of size k contains integers between 1 and n. You are given
an additional scratch array of size n. Compress the original array by
removing duplicates in it. What if k << n?
HINT: Can be done in O(k) time i.e. without initializing the auxiliary
array!

Any solutions, partial solutions, or algorithms to the above problems is
greatly appreciated.

William


Victor Bazarov
Guest
 
Posts: n/a
#2: Jul 23 '05

re: Array Programming Questions:


William wrote:[color=blue]
> I would appreciate your help on the following programming questions:
>
> [...][/color]

This is a C++ language newsgroup. I recommend asking your programming
questions in a general programming newsgroup: comp.programming.

V


Alf P. Steinbach
Guest
 
Posts: n/a
#3: Jul 23 '05

re: Array Programming Questions:


* William:[color=blue]
> I would appreciate your help on the following programming questions:
>
> 1. Given an array of length N containing integers between 1 and N,
> determine if it contains any duplicates.
> HINT: [Is there an O(n) time solution that uses only O(1) extra space and
> does not destroy the original array?]
>
> The solution is:
> http://domino.research.ibm.com/Comm/...nuary2004.html
>
> but I don't understand what they meant by "Let f(x) be the location of the
> array at address x."[/color]

What is the C++ question?

[color=blue]
> 2. Sort an array of size n containing integers between 1 and K, given a
> temporary scratch integer array of size K.
> HINT: Compute cumulative counts of integers in the auxiliary array. Now
> scan the original array, rotating cycles!
>
>
> 3. An array of size k contains integers between 1 and n. You are given
> an additional scratch array of size n. Compress the original array by
> removing duplicates in it. What if k << n?
> HINT: Can be done in O(k) time i.e. without initializing the auxiliary
> array!
>
> Any solutions, partial solutions, or algorithms to the above problems is
> greatly appreciated.[/color]

Try posting this in [comp.programming].

It's off-topic in [comp.lang.c++].

--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Donovan Rebbechi
Guest
 
Posts: n/a
#4: Jul 23 '05

re: Array Programming Questions:


On 2005-05-26, William <wh2leung@student.cs.uwaterloo.ca> wrote:[color=blue]
> I would appreciate your help on the following programming questions:[/color]

Thanks, but I've already earned my degree. Good luck with yours. If you
have any specific C++ questions, you're welcome to post them here. But
don't expect anyone to do your homework for you.

Cheers,
--
Donovan Rebbechi
http://pegasus.rutgers.edu/~elflord/
Karl Heinz Buchegger
Guest
 
Posts: n/a
#5: Jul 23 '05

re: Array Programming Questions:


William wrote:[color=blue]
>
> I would appreciate your help on the following programming questions:
>
> 1. Given an array of length N containing integers between 1 and N,
> determine if it contains any duplicates.
> HINT: [Is there an O(n) time solution that uses only O(1) extra space and
> does not destroy the original array?]
>
> The solution is:
> http://domino.research.ibm.com/Comm/...nuary2004.html
>
> but I don't understand what they meant by "Let f(x) be the location of the
> array at address x."[/color]

Array indexing.
If Numbers is the array, then f(x) would be Numbers[x] in C++ speak.
(Different programming languages have different syntax for array indexing)


--
Karl Heinz Buchegger
kbuchegg@gascad.at
Closed Thread