Array Programming Questions:

W

William

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/wwwr_ponder.nsf/solutions/January2004.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
 
V

Victor Bazarov

William said:
I would appreciate your help on the following programming questions:

[...]

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

V
 
A

Alf P. Steinbach

* William:
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/wwwr_ponder.nsf/solutions/January2004.html

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

What is the C++ question?

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.

Try posting this in [comp.programming].

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

Donovan Rebbechi

I would appreciate your help on the following programming questions:

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,
 
K

Karl Heinz Buchegger

William said:
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/wwwr_ponder.nsf/solutions/January2004.html

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

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)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top