Показать сообщение отдельно
  #23 (permalink)  
Старый 24.12.2013, 03:07
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

А это иллюстрация того, что выбрано не правильное решение.
var a1 = [1, 2, 3, 4, 5];
      var a2 = [2, 4, 4, 2];
      var b = 0;

      alert(isSubset(a1, a2));
      alert(b);

      function isSubset(a1, a2) {
        for (var i = 0; i < a2.length; i++) {
          var element = a2[i];
          var found = false;
          for (var j = 0; j < a1.length; j++) {
            b++;
            if (a1[j] === element) {
              found = true;
              break;
            }
          }
          if (!found) {
            return false;
          }
        }
        return true;
      }

и предложное мной
var a1 = [1, 2, 3, 4, 5];
      var a2 = [2, 4, 4, 2];
      var buf = {},
        rez = false,
        i, b = 0;
      for (i = 0; i < a2.length; i++) {
        buf[a2[i]] = true;
        b++;
      }
      for (i = 0; i < a1.length; i++) {
        b++;
        if (buf[a1[i]]) {
          rez = true;
          break;
        }
      }
      alert(rez);
      alert(b);
Ответить с цитированием