![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.11.2008
Сообщений: 577
|
![]()
есть массив строк (string) одинаковой длины. Как быстро определить число в какой строке наибольшее. Например допустим есть 3 строки
string row [1] = "1111111"; string row [2] = "1111113"; string row [3] = "1111112"; в данном случае самой крупной является строка под номером 2. если кто-то такое делал, или четко представляет как это сделать напишите мне пожалуйста а то сил думать уже нет ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 26.09.2011
Сообщений: 158
|
![]()
Для начала переводим число из типа строка в целочисленный тип, для этого обычно есть в языке стандартные ф-ции и процедуры. После осуществляем поиск максимального
Код:
<----Весы Там.
![]() Последний раз редактировалось Npwas; 22.06.2012 в 23:30. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 15.11.2008
Сообщений: 577
|
![]()
ну и да, но там числа длиииииииииииинные типо таких
12312312847239847923847982374928379 58729387498239482934 их трудно перевести я пробовал ![]() |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 26.09.2011
Сообщений: 158
|
![]() Цитата:
Тогда сперва сравнивай строки по кол-ву символов, после оставляй строки с наибольшим одинаковым кол-вом символов, и сравнивай их разбивая на одинаковые куски, которые уже будешь спокойно переводить в целочисленный тип.
<----Весы Там.
![]() |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
1. отбрасываем ведущие нули
2. сортируем по длине 3. самая длинная строка == самое большое число 4. если таких строк несколько, просматриваем слева направо, в какой строке в текущей позиции цифра больше, там и большее число 5. если таких строк несколько, продолжаем просматривать, сдвигаясь слева направо
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.11.2008
Сообщений: 577
|
![]()
О я придумал я сделаю qsort и просто перепишу компарер как мне нужно, а потом возьму первое значение. С этим мороки наверное будет не сильно много. Тем не менее спасибо что помогал
![]() add я понимаю как это сделать с 2мя числами я просто не понимал как это сделать с N числами. спасибо всем! нет, к сожалению еще не все, кто шарит в микробенчмарках помогите оптимизировать код. Суть такова вводятся числа найти максимальное, у меня не компюторе работает достаточно быстро но на тестовом возникает tle (Time limit exceeded) вот код Код:
бред я тут мучаюсь 100 000 000 символов 1 000 строк, уже думал профайлеры какие-то подключать, только потом в комментах к задаче прочитал что надо обработать только первые 3 числа, остальные можно игнорировать ... Последний раз редактировалось Stilet; 23.06.2012 в 07:55. |
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 26.09.2011
Сообщений: 158
|
![]() Цитата:
![]()
<----Весы Там.
![]() |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти наибольшее число. Массив байт. (assembler) | Wasisualy | Помощь студентам | 1 | 27.12.2011 13:48 |
В процессоре KP580BM80A найти наибольшее число | таня1 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 19.12.2011 21:04 |
В процессоре KP580BM80A найти наибольшее число | таня1 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 27.11.2011 10:32 |
Программа с использование массива найти 3-е наибольшее число | Tатьяна | Помощь студентам | 7 | 01.11.2010 09:23 |
Найти на отрезке [n, 2n] натуральное число, имеющее наибольшее количество делителей. | APTEMUC | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 10.12.2008 05:20 |