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
Your Filters
Interested
Ignored
     
0 Shai Vashdi 1,838
1 Tadit Dash 310
2 OriginalGriff 283
3 Sergey Alexandrovich Kryukov 260
4 Peter Leow 220
0 Sergey Alexandrovich Kryukov 9,440
1 OriginalGriff 5,618
2 Peter Leow 4,280
3 Maciej Los 3,540
4 Abhinav S 3,363


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