|
|
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
А, ясно, все дело в разделителях у вещественных чисел. Так и виндовый 100 выдает Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2011, 11:42:40 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
an0nym, только тут строка как вы видите в другом формате) соответсвенно проблемы её разбора и обработки несколько отличаются. но в целом можно и так например на регекспах, понятно что тормознее, зато кода в разы меньше) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2011, 13:23:08 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r u, на регэкспах имхо очень трудно будет обработать неограниченную вложенность скобок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2011, 18:02:46 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r uДана строка: Код: plaintext 1. * Уточнения и ограничения: - не использовать eval() - числа в строке: десятичные int или float - арифметические операции: + - * / - исходить что входная строка корректна, те содержит только парные скобки и корректную вложенность(валидность входного выражения проверять ненужно) - проверить правильность вычисления можно в поиске Гугла, там встроенный калькулятор Вот, накидал регулярками Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2011, 18:51:47 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
Vaytl, да, регулярками у меня тоже подобный подход, только код немного другой) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 05:21:57 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r u, Хотелось бы увидеть ваш код, для сравнения…(если можно) Немного поправил свой код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 19:05:38 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
Vaytl, мой вариант через регулярки Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 19:42:04 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r u, Спасибо, очень познавательно + в 2-3 раза быстрее моего примера… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 19:54:01 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
имхо, у решения через регекспы есть существенный минус - скорость работы. замеры скорости не делал, но чтобы не быть голословным решил написать решение "классически" - с пом. трансляции в польскую нотацию и последующим её вычислением(выше свой вариант приводил an0nym). только я не стал решать задачу настолько широко и универсально, получилось чтото такое Код: 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. если не считать одного регекспа(использовал его для уменьшения кода, он заменяется одним прогоном строки), это решение сканирует выражение всего пару раз. пытался написать алгоритм вычисления налету с одним прогоном - но неосилил)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 19:58:47 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r uимхо, у решения через регекспы есть существенный минус - скорость работы. замеры скорости не делал, но чтобы не быть голословным решил написать решение "классически" .... Как ни странно, но ваш пример через регекспы, работает быстрее второго варианта на 50-100%... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 20:13:04 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
VaytlКак ни странно, но ваш пример через регекспы, работает быстрее второго варианта на 50-100%... странно))) думал будет наоборот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 20:18:21 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
VaytlКак ни странно, но ваш пример через регекспы, работает быстрее второго варианта на 50-100%... добился небольшого но выигрыша в скорости второго варианта ) избавился от регекспа и функции _addPnItem() (передача по ссылке тормозила, глобальные переменные тоже). думаю можно оптимизировать и сам алгоритм, но это уже отдельная история) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2011, 08:06:21 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
Дан массив чисел: Код: plaintext 1. 2. 3. 4. необходимо найти это число всего за один проход массива. PS всякие готовые функции array_xxxxx() и т.п. использовать нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 11:52:59 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
а в чем прикол Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 11:58:02 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
ScareCrowа в чем прикол Код: plaintext 1. 2. 3. ну вы получили еще один массив. выведите найденный элемент ,только его )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 12:02:15 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
без прохода по второму массиву? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 12:10:19 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
ScareCrowбез прохода по второму массиву? да. тогда уточню немного. Дан массив чисел: Код: plaintext 1. 2. 3. 4. 5. Как видно, в массиве все числа, кроме одного, встречаются 2 раза, а одно число(7) только один раз. необходимо найти это число, всего за один проход массива, и поместить найденное число в переменную $n . PS всякие готовые функции array_xxxxx() и т.п. использовать нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 13:44:10 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r u, $a = array( 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6, 8,9 ); $n = 0; foreach($a as $v){ $n=$n ^ $v; //иногда исключающее или всетаки нужно } echo $n; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 18:58:21 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
artas, поздравляю) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2011, 10:41:32 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
Тоже самое задание, но.... Дан массив букаф: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2011, 13:26:15 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
artas, решение тоже самое. только изначально $n="\0"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2011, 13:38:16 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
Добейтесь появления у объекта двух свойств с одинаковым названием и разной областью видимости. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2012, 02:48:15 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
an0nymДобейтесь появления у объекта двух свойств с одинаковым названием и разной областью видимости. :) легко ) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2012, 05:49:19 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=37307630&tid=1465177]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
189ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 539ms |

| 0 / 0 |
