Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 1.26 KB

136.singleNumber.md

File metadata and controls

48 lines (34 loc) · 1.26 KB

136. Single Number

  • Murakablik: Easy
  • Tegishlik Mavzular: Array , Math.

Masala

  • Butun sonlarning massiv shakilda berilgan (massivlar bo'sh bo'lmaydi), bitta elementdan tashqari har bir element ikki marta paydo bo'ladi. O'sha bittasini toping.

  • Siz linear time complexity usuli orqali javob berishingiz va constant extra spacedan foydalanishingiz kerak.

  • Linear time complexity - Bu algoritm tomonidan qabul qilingan vaqt kirish hajmiga qarab chiziqli o'sishi kerakligini anglatadi. Big O belgisida bu O(n) sifatida belgilanadi, bu erda n - kirish hajmi.

  • Constant extra space - Bu algoritm kirish hajmi bilan o'sadigan qo'shimcha joydan foydalanmasligi kerakligini anglatadi. Boshqacha qilib aytganda, fazoning murakkabligi O (1) bo'lishi kerak, ya'ni u kirish hajmidan qat'i nazar, doimiy bo'sh joydan foydalanadi.

Example 1

Input: nums = [2,2,1] Output: 1

Example 2

Input: nums = [4,1,2,1,2] Output: 4

Example 3

Input: nums = [1] Output: 1

Javob 1 (45ms)

var singleNumber = function (nums) {
  let ans = 0;
  for (let i = 0; i < nums.length; i++) {
    ans ^= nums[i];
  }
  return ans;
};

Javob 2 (59ms)

var singleNumber = function (nums) {
  let res = eval(nums.join("^"));
  return res;
};