Функция NumberComplement (num) принимает десятичное число, преобразует его в двоичное число, затем инвертирует каждую двоичную цифру, а затем преобразует инвертированное двоичное число обратно в десятичное число.Какова временная сложность этой функции NumberComplement?
мое решение
NumberComplement(num){
let bin= num.toString(2).split('').map(x => 1-x).join('')
return parseInt(bin,2)
}
, что временная сложность для этой функции и почему?
(часть, которая меня смутила, является функцией карты, где num уже преобразован из целого числа в массив из 0 и 1, и мы знаем, что длина массива равна log (num) +1, поэтому функция итерации log (num) +1 раз, что делает сложность времени O (log (n))? ........ или я его переутомляю? Это просто O (n)?
Thank вы так много для вашего времени
Это 'O (1)' .... – zerkms
@zerkms Почему он постоянный? Я преобразовываю число в массив и итерацию по всему массиву ..... – SammiA
Это верхняя граница 53 итерациями каждого 'split',' map' и 'join' – zerkms