|
|
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
привет! примерчик красивый есть у кого-нибудь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 15:09:17 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
Представим, что это массив. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Я думаю как-то так можно. Кодировал без IDE, прямо здесь набирал код придумывая на ходу. Поэтому будем считать, что это псевдо-java. А вообще, это лабораторная работа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 15:45:19 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
код сильно не читал, но сдается мне, он полагается на "корректность" входжных данных. а если их перемешать? то есть на вход идет 3 2 1 7 6 5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 16:15:41 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
ArrayList.sort или что-то похожее есть в Collections Framework :) А если серьезно, то все сильно зависит от структуры входных данных. Есть у меня пдозрение - тут можно сильно оптимизировать задачу при работе с большими данными за счет правильной структуры входных данных. Если же речь идет о страницах, которые на принтер выдаются - вполне достаточно и так :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 16:22:29 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
я предлагаю такой вариант. вводим структуру Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. далее для каждого числа из входных данных создаем объект NumSet, а затем в цикле начинаем их скрещивать. Если объекты пересекаются или стоят рядом, то 2ой добавляем в 1ый (методом consume) и удаляем его. Если же на каком то шаге пересечений не будет - то ответ получен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 16:28:17 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 16:33:29 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 16:38:58 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
Deady Timm в биореактор , жывотное Учись четать! risfekпривет! примерчик красивый есть у кого-нибудь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 17:00:05 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
Deadyя предлагаю такой вариант. вводим структуру далее для каждого числа из входных данных создаем объект NumSet, а затем в цикле начинаем их скрещивать. Если объекты пересекаются или стоят рядом, то 2ой добавляем в 1ый (методом consume) и удаляем его. Если же на каком то шаге пересечений не будет - то ответ получен. То есть так получаем: Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 17:06:58 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
не проверял, но думаю тут хватит 2ного цикла, как в пузырьке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 17:20:05 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
Если уж хреначить ООП куда попало, то нужно это делать так, чтобы потом не было стыдно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. О(n*logn). При необходимости можно легким движением руки поправить алгоритм, чтобы получилось О(n) для случая, когда числа добавляются в порядке возрастания... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 18:32:50 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
Согласитесь, что круче ООП только яйца? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2006, 19:19:49 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
отключали сетку, извините. наверно воспользуюсь тем, что NotGonnaGetUs написал. ООП красиво, угрожающе много :) у меня наваять получилось (в контексте задачи) Всем спасибо! String result=""; Object[] o = r.toArray(); for(int i = 0; i<o.length; i++){ int j=i; while(j<o.length-1&& (Math.abs(((KoTreeMap)o[j]).getInt("ZKM")-((KoTreeMap)o[j+1]).getInt("ZKM"))==1) ){ j++; } if(i==j){ result+=((KoTreeMap)o ).getInt("ZKM"); } else { result+=((KoTreeMap)o).getInt("ZKM")+ "-"+((KoTreeMap)o[j]).getInt("ZKM"); } i=j; result+=(i<o.length-1)?", ":""; } return result; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 11:00:37 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
2risfek: 1. 5(!) класс кастов. 2. Константа захардкоженная 5(!) раз. 3. Конкатенация String в цикле(!). 4. Изменение переменной цикла в теле цикла. 5. Вложенные циклы (while). 6. Отсутствие поясняющих комментариев. 7. Необходимость в комментариях (!) (как минимум описание входных данных, для которых алгоритм отработает корректно). Не пиши так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 12:28:25 |
|
||
|
1,2,3,5,6,7,8... преобразовать в 1-3,5-8...
|
|||
|---|---|---|---|
|
#18+
java != javaScript Не пиши так. А так можно? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Usage: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 14:15:20 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2148087]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
206ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
1ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 522ms |

| 0 / 0 |
