Tag Archives: leetcode

LeetCode Çözümlerİ – 263. Ugly Number

LeetCode içerisinde bulunan “Ugly Number” sorusunun açıklaması ve çözümü. Bu soruda bize verilen pozitif bir tamsayının asal çarpanlarında sadece 2, 3 veya 5 sayılarından birinin veya birkaçının olup olmadığı soruluyor.

🔥 LeetCode 263. Ugly Number: https://leetcode.com/problems/ugly-number/

➡️ Problem açıklaması:

Write a program to check whether a given number is an ugly number.

Ugly numbers are positive numbers whose prime factors only include 2, 3, 5.

Example 1:

Input: 6

Output: true

Explanation: 6 = 2 × 3

Example 2:

Input: 8

Output: true

Explanation: 8 = 2 × 2 × 2

Example 3:

Input: 14

Output: false

Explanation: 14 is not ugly since it includes another prime factor 7.

Note:

💡 1 is typically treated as an ugly number.

💡 Input is within the 32-bit signed integer range: [−231, 231 − 1].

LeetCode Çözümlerİ – 338. Counting Bits

LeetCode içerisinde bulunan “Counting Bits”‘ sorusunun açıklaması ve çözümü. Bu soruda verilen bir integer dizisinin O(n) zamanında ve O(n) space complexity olacak şekilde her bir elemanın binary gösterimlerinin içerisinde bulunan 1 bit sayısı yine bir integer dizisi olarak dönmemizi istiyor.

🔥 LeetCode 338. Counting Bits: https://leetcode.com/problems/counting-bits/

➡️ Problem açıklaması: Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1’s in their binary representation and return them as an array.

Example 1:

Input: 2

Output: [0,1,1]

Example 2:

Input: 5

Output: [0,1,1,2,1,2]

Follow up:

⛔ It is very easy to come up with a solution with run time O(n*sizeof(integer)). But can you do it in linear time O(n) /possibly in a single pass?

⛔ Space complexity should be O(n).

⛔ Can you do it like a boss? Do it without using any builtin function like __builtin_popcount in c++ or in any other language.

LeetCode Çözümlerİ – 374. Guess Number Higher or Lower

LeetCode içerisinde bulunan “Guess Number Higher or Lower”‘ sorusunun açıklaması ve çözümü. Bu soruda klasik bir “tahmin” sorusunda en etkili yöntem ile tutulan sayının nasıl tahmin edilmesi gerektiği anlatılıyor.

🔥 LeetCode 374. Guess Number Higher or Lower: https://leetcode.com/problems/guess-number-higher-or-lower/

➡️ Problem açıklaması:

We are playing the Guess Game. The game is as follows:

I pick a number from 1 to n. You have to guess which number I picked.

Every time you guess wrong, I’ll tell you whether the number is higher or lower.

You call a pre-defined API guess(int num) which returns 3 possible results (-1, 1, or 0):

-1 : My number is lower

1 : My number is higher

0 : Congrats! You got it!

Example :

Input: n = 10,

pick = 6

Output: 6

➡️ Binary Search Wikipedia [EN]: https://en.wikipedia.org/wiki/Binary_search_algorithm

➡️ İkili arama algoritması Wikipedia [TR]: https://tr.wikipedia.org/wiki/%C4%B0kili_arama_algoritmas%C4%B1

➡️ Algoritma açıklaması:

İkili Arama, sıralı bir dizide, belirli değerin bulunmasına yönelik bir algoritmadır. Bu teknikteki her bir adımda, aranan değerin, dizinin orta değerine eşit olup olmadığı kontrol edilir. Eşit olmaması durumunda aranan değerin orta değer tarafından ikiye ayrılan kısımlardan hangisinde olduğu kontrol edilir, aranan değeri içeren kısım bir sonraki adımda arama yapılacak dizi olur ve bu sayede arama yapılan listedeki eleman sayısı her adımda yarıya indirilmiş olur. Bu algoritma ile N elemanlı bir dizide en fazla log2(N) karşılaştırma yaparak aranan değerin yerini bulmak mümkündür.

LeetCode Çözümlerİ – 283. Move Zeroes [Facebook Mülakat Sorusu]

LeetCode içerisinde bulunan “Move Zeroes”‘ sorusunun açıklaması ve çözümü. Bu soruda tamsayı dizisinde verilen sayılardan 0 olmayanları en başa öteleyip (sıralarını bozmadan), 0’ları dizinin en sonuna ötelemeniz isteniyor. LeetCode’a göre Facebook iş görüşmelerinde sorulmuş sorulardan biri.

🔥 LeetCode 283. Move Zeroes: https://leetcode.com/problems/move-zeroes/

➡️ Problem açıklaması:

Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.

Example:

Input: [0,1,0,3,12]

Output: [1,3,12,0,0]

Note:

You must do this in-place without making a copy of the array. Minimize the total number of operations.

LeetCode Çözümlerİ – 202. Happy Number – [Google Mülakat Sorusu]

LeetCode içerisinde bulunan “Happy Number”‘ sorusunun açıklaması ve çözümü. Bu soruda bir sayının rakamlarının karelerini toplayıp ve bu işlemi sonsuz döngü olmadığı sürece devam ettirip 1 sayısına ulaşılabiliyor mu olduğu sormakta. LeetCode’a göre Google iş görüşmelerinde sorulmuş sorulardan biriymiş.

🔥 LeetCode 202. Happy Number: https://leetcode.com/problems/happy-number/

➡️ Problem açıklaması:

Write an algorithm to determine if a number n is “happy”.

A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.

Return True if n is a happy number, and False if not.

Example:

Input: 19

Output: true

Explanation:

1^2 + 9^2 = 82

8^2 + 2^2 = 68

6^2 + 8^2 = 100

1^2 + 0^2 + 0^2 = 1

➡️ Wikipedia açıklaması: https://en.wikipedia.org/wiki/Happy_number

In number theory, a happy number is a number which eventually reaches 1 when replaced by the sum of the square of each digit. For instance, 13 is a happy number because 1^{2}+3^{2}=10 and 1^{2}+0^{2}=1. On the other hand, 4 is not a happy number because the sequence starting with 4^{2}=16 and 1^{2}+6^{2}=37 eventually reaches 2^{2}+0^{2}=4, the number that started the sequence, and so the process continues in an infinite cycle without ever reaching 1. A number which is not happy is called sad or unhappy.

LeetCode Çözümleri – 326. Power of Three

LeetCode içerisinde bulunan “Power of Three”‘ sorusunun açıklaması ve çözümü. Soruda verilen integer sayısının 3’ün bir tam sayı kuvveti olup olmadığı sorulmaktadır.

🔥 LeetCode 326. Power of Three: https://leetcode.com/problems/power-of-three/

➡️ Problem açıklaması:

Given an integer, write a function to determine if it is a power of three.

Example 1:

Input: 27

Output: true

Example 2:

Input: 0

Output: false

Example 3:

Input: 9

Output: true

Example 4:

Input: 45

Output: false

Follow up: Could you do it without using any loop / recursion?

😔 NOT: Mikrofonda bazı sorunlar yaşanmış kayıt yaparken, kusura bakmayın.

LeetCode Çözümlerİ – 268. Missing Number [Google ve Amazon Mülakat Sorusu]

LeetCode içerisinde bulunan “Missing Number”‘ sorusunun açıklaması ve çözümü. Bu soruda [0..N] dizisinde verilen N adet sayıdan eksik olanı bulmanız isteniyor. LeetCode’a göre Google ve Amazon iş görüşmelerinde sorular sorulardan biri. Videoda alternatif XOR çözümünü de anlatmaya çalıştım.

🔥 LeetCode 268. Missing Number: https://leetcode.com/problems/missing-number/

➡️ Problem açıklaması:

Given an array containing n distinct numbers taken from 0, 1, 2, …, n, find the one that is missing from the array.

Example 1:

Input: [3,0,1]

Output: 2

Example 2:

Input: [9,6,4,2,3,5,7,0,1]

Output: 8 Note:

Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?

LeetCode Çözümlerİ – 231. Power of Two [Amazon Mülakat Sorusu]

LeetCode içerisinde bulunan “Power of Two”‘ sorusunun açıklaması ve çözümü. Bu soruda verilen sayının 2’nin pozitif bir tam kuvveti olup olmadığını bulmanız isteniyor. LeetCode’a göre Amazon’da sorulmuş sorulardan biri.

➡️ LeetCode 231. Power of Two: https://leetcode.com/problems/power-of-two/

➡️ Bit Twiddling Hacks: http://graphics.stanford.edu/~seander/bithacks.html

➡️ the bit twiddler: https://bits.stephan-brumme.com/

➡️ The Aggregate Magic Algorithms: http://aggregate.org/MAGIC

➡️ Bit Tricks: https://medium.com/trick-the-interviwer/bit-tricks-577ebb2f1a8b

➡️ Basics of Bit Manipulation: https://www.hackerearth.com/practice/basic-programming/bit-manipulation/basics-of-bit-manipulation/tutorial/

➡️ Problem açıklaması:

Given an integer, write a function to determine if it is a power of two.

Example 1:

Input: 1

Output: true

Explanation: 2^0 = 1

Example 2:

Input: 16

Output: true

Explanation: 2^4 = 16

Example 3:

Input: 218

Output: false

LeetCode Çözümlerİ – 168. Excel Sheet Column Title

LeetCode içerisinde bulunan “Excel Sheet Column Title”‘ sorusunun açıklaması ve çözümü.

🔥 LeetCode 88. Merge Sorted Array: https://leetcode.com/problems/excel-sheet-column-title/

➡️ Problem açıklaması:

Given a positive integer, return its corresponding column title as appear in an Excel sheet.

For example:

1 — A

2 — B

3 — C

26 — Z

27 — AA

28 — AB

Example 1:

Input: 1

Output: “A”

Example 2:

Input: 28

Output: “AB”

Example 3:

Input: 701

Output: “ZY”

LeetCode Çözümlerİ – 171. Excel Sheet Column Number

LeetCode içerisinde bulunan “Excel Sheet Column Number”‘ sorusunun açıklaması ve çözümü. Bu soruda verilen excel kolon isminden, kaçıncı kolon olduğunu bulmanız gerekiyor.

🔥 LeetCode 171. Excel Sheet Column Number: https://leetcode.com/problems/excel-sheet-column-number/

➡️ Problem açıklaması:

Given a column title as appear in an Excel sheet, return its corresponding column number.

For example:

A — 1

B — 2

C — 3

Z — 26

AA — 27

AB — 28

Example 1:

Input: “A”

Output: 1

Example 2:

Input: “AB”

Output: 28

Example 3:

Input: “ZY”

Output: 701

Constraints: 1 less= s.length less= 7 s consists only of uppercase English letters. s is between “A” and “FXSHRXW”.