2014-10-24 2 views
1

Если у меня есть массива, содержащие некоторый символ такого, как [a,b,c] и у меня есть еще один массив , который содержит соответствующую частоту каждого полукокса, такого как [2,1,1]. Я хотел бы сейчас перейти через связанный список , который имеет узлы, которые имеют некоторую строку, чтобы увидеть, имеют ли они также символы, которые у меня есть в моем исходном массиве с одинаковой частотой.Сравнивая узлы списка с массив строк

Моего подход

Я думал, что мне нужен

Один цикла, который начнется в index 0 из исходного массива, а другая петля внутри, которая будет проверять все узлы, для этой строки, и если моих временных хиты нулевого указателя это означает все они есть, а если нет, то они не делают, и я перехожу к следующему. Однако я не уверен, как реализовать этот подход, поскольку я очень новичок в c, и мне было интересно, возможно ли это сделать в O(N) ВРЕМЯ, поскольку мой подход будет O (N).

Пример вывода: я приношу извинения за путаницу так что если у вас есть 3 узлов и каждый из них имеет массив символов, содержащий "nba" "tba" "rba" выход должен затем вернуться b a. так как оба они кажутся равными по количеству раз в каждом узле.

+1

Можете ли вы привести пример для «некоторой строки», которая упоминается как узлы, которые имеют некоторую строку. Итак, просто дайте мне строковый формат. –

+0

у вас есть связанный список с узлами, которые содержат строки. ex node 1 имеет «jay», узел 2 имеет «rab», узел 3 имеет «глину». и что бы я сделал, так это взять этот список массивов, который у меня уже есть, например, [a, b, c] frequency arra [1,2,3] и видеть, что только a соответствует. потому что каждая строка имеет char a с частотой 1. – user1010101

+0

@ ANBU.SANKAR делает это ясно? дайте мне знать – user1010101

ответ

1

Итак, вы начинаете как свой массив символов, так и freqarray с индексом 0, а затем проверяете все узлы для строк, соответствующих одной и той же частоте символа. Я предполагаю, что вы используете какую-то функцию для возврата частоты конкретного символа в строку. Также ваша проблема требует, чтобы вы проходили через все узлы, поэтому подразумевается O (N^2).

Смежные вопросы