2015-07-18 3 views
0

Недавно у меня было интервью, которое состояло из следующей проблемы. Пожалуйста, помогите с возможными решениями.Поиск дублирующих элементов в массиве без использования вложенных циклов

Напишите метод на Java, чтобы найти повторяющиеся элементы в целочисленном массиве без использования вложенных циклов (для/while/do while и т. Д.) И без использования библиотечных функций или стандартных API.

+2

Что вы пытаетесь? (Подсказка использование recu .....) – CKing

+0

Вы можете использовать коллекцию рамки? Arraylist? –

+0

@DevChoudhary Помогло ли интервьюеру, что вы вообще не можете использовать петли или просто не можете устанавливать петли? – CKing

ответ

1

Эй, решение ниже имеет сложность O (n) и отлично работает. Проверьте, помогает ли это.

public class Main { 
    public static void main(String[] args) { 
     int a[] = new int[]{10,3,5,10,5,4,6}; 
     String distinctElement=""; 
     String repetitiveTerms=""; 
     for(int i=0;i<a.length;i++){ 
      if(i==0){ 
       distinctElement+=a[i]+" "; 
      } 
      else if(distinctElement.contains(""+a[i])){ 
       repetitiveTerms+=a[i]+" "; 
      } 
      else{ 
       distinctElement+=a[i]+" "; 
      } 
     } 

    } 
} 
+0

Какая часть * без использования вложенных циклов (для/while/do while и т. Д.) * Говорит, что вы можете использовать циклы? – CKing

+0

Это не проблема, если вы можете использовать циклы. Мое понимание вопроса заключается в том, что вы не можете использовать циклы. Подождем OP, чтобы уточнить. – CKing

+1

Я думаю, что петли разрешены, но не вложены –

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