Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C#4.0
hi guys, i am new in the programming field and i want some help to write a program that find the longest distance between Two equal cells in array
Posted 17-Dec-12 19:47pm
Comments
Tarun Y Mangukiya at 18-Dec-12 1:52am
   
Needs more explanation...
whitefang4773 at 18-Dec-12 3:36am
   
• Consider an Array of Integer values with size N, having values as in this
Example
 
7 0 0 0 5 6 7 5 0 7 5 3
 
Your task will be to write a program find the longest distance between
Two equal cells. In this example. The distance is measured by the number
Of cells- for example, the distance between the first and the fourth cell is
2 (cell 2 and cell 3).
In the example above, the longest distance is between the first 7 and the
10th 7, with a distance of 8 cells, i.e. the number of cells between the 1st
And the 10th 7s.
Note:
- Array values will be taken from the user
- If you have input like 1111111 then the distance is the number of
Cells between the first and the last cell.
Tarun Y Mangukiya at 18-Dec-12 8:52am
   
See you get your answer.
Just code as you explained me.
You know the technique to find. Just implement into code.
whitefang4773 at 18-Dec-12 3:48am
   
André Kraak
really thank you , you help me alot to know how to think of this problem
Really thank you

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Best way to start is writing down the problem on paper and figure out the solution.
 
So you have an row of for example characters like so:
0 1 2 3 4 5 6 7 8 9
a h K ; a , a K h k
I would start at the beginning with 'a', then the best way to find the greatest 'distance' for an equal character would be to look for it from the end of the row. For 'a' this would be position 6, so the current maximum distance is 5.
Now onto the next character 'h', which can be found from the end on position 8. So now 'h' becomes the new largest distance of 6.
You continue this way until you reach the end of the row at which time you now the character with the largest 'distance'.
 
You can implement this by the use of two loops, one which start at the beginning and goes to the end. The second start at the end until it find the character you are looking for.
Each time you find the character in the second you check if the distance is greater than the one you already found and if so make that the new largest one.
 
I hope this helps you to code the solution your problem.
 
I gave no code because if you want to learn it is best to do it yourself.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 mhegazy94 460
1 Sergey Alexandrovich Kryukov 405
2 Kornfeld Eliyahu Peter 275
3 Gihan Liyanage 163
4 Sibeesh KV 156
0 Sergey Alexandrovich Kryukov 6,775
1 OriginalGriff 6,696
2 CPallini 5,345
3 George Jonsson 3,599
4 Gihan Liyanage 2,751


Advertise | Privacy | Mobile
Web01 | 2.8.140922.1 | Last Updated 18 Dec 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100