Tag Archives: facebook mülakat sorusu

LeetCode Çözümleri – 621. Task Scheduler [Facebook Mülakat Sorusu]

LeetCode içerisinde bulunan “Task Scheduler” sorusunun açıklaması ve çözümü. Sizen verilen görev listesi ve N sayısına istinaden, aynı task’lar arasında en az N kadar farklı task çalışması koşulu ile, en az kaç seferde bütün taskların çalıştırılabileceği soruluyor. LeetCode’a göre daha önce Facebook mülakatlarında sorulmuş sorulardan biriymiş.

🔥 LeetCode 621. Task Scheduler: https://leetcode.com/problems/task-scheduler/

➡️ Problem açıklaması:

Given a characters array tasks, representing the tasks a CPU needs to do, where each letter represents a different task. Tasks could be done in any order. Each task is done in one unit of time. For each unit of time, the CPU could complete either one task or just be idle.

However, there is a non-negative integer n that represents the cooldown period between two same tasks (the same letter in the array), that is that there must be at least n units of time between any two same tasks.

Return the least number of units of times that the CPU will take to finish all the given tasks.

Example 1:

Input: tasks = [“A”,”A”,”A”,”B”,”B”,”B”], n = 2

Output: 8

Explanation: A — B — idle — A — B — idle — A — B

There is at least 2 units of time between any two same tasks.

Example 2:

Input: tasks = [“A”,”A”,”A”,”B”,”B”,”B”], n = 0

Output: 6

Explanation: On this case any permutation of size 6 would work since n = 0.

[“A”,”A”,”A”,”B”,”B”,”B”]

[“A”,”B”,”A”,”B”,”A”,”B”]

[“B”,”B”,”B”,”A”,”A”,”A”]

And so on.

Example 3:

Input: tasks = [“A”,”A”,”A”,”A”,”A”,”A”,”B”,”C”,”D”,”E”,”F”,”G”], n = 2

Output: 16

Explanation:

One possible solution is

A — B — C — A — D — E — A — F — G — A — idle — idle — A — idle — idle — A

Constraints:

1 <= task.length <= 10^4

tasks[i] is upper-case English letter.

The integer n is in the range [0, 100].

LeetCode Çözümlerİ – 896. Monotonic Array [Facebook Mülakat Sorusu]

LeetCode içerisinde bulunan “Monotonic Array”‘ sorusunun açıklaması ve çözümü. Bu soruda verilen bir dizinin monotonik (düzenli olarak artan veya düzenli olarak azalan) olup olmadığı soruluyor. LeetCode’a göre bu bir Facebook mülakat sorusu.

🔥 LeetCode 896. Monotonic Array: https://leetcode.com/problems/monotonic-array/

➡️ Problem açıklaması:

An array is monotonic if it is either monotone increasing or monotone decreasing.

An array A is monotone increasing if for all i LessOrSmaller= j, A[i] LessOrSmaller= A[j]. An array A is monotone decreasing if for all i LessOrSmaller= j, A[i]LessOrBigger= A[j].

Return true if and only if the given array A is monotonic.

Example 1:

Input: [1,2,2,3]

Output: true

Example 2:

Input: [6,5,4,4]

Output: true

Example 3:

Input: [1,3,2]

Output: false

Example 4:

Input: [1,2,4,5]

Output: true

Example 5:

Input: [1,1,1]

Output: true

Note:

1 <= A.length <= 50000

-100000 <= A[i] <= 100000

LeetCode Çözümlerİ – 404. Sum of Left Leaves [Facebook Mülakat Sorusu]

LeetCode içerisinde bulunan “Sum of Left Leaves”‘ sorusunun açıklaması ve çözümü. Bu soruda size verilen bir binary tree içerisindeki “left leaves” (ağacın en solunda olan ve alt node’ları olmayan) node’larının toplamı soruluyor. LeetCode’a göre bu soru daha önce Facebook mülakatlarında sorulan sorulardan biridir.

🔥 LeetCode 404. Sum of Left Leaves: https://leetcode.com/problems/sum-of-left-leaves/

➡️ Problem açıklaması: Find the sum of all left leaves in a given binary tree.

Example:

3

/ \

9 20

/ \

15 7

There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.

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ümleri – 125. Valid Palindrome – [Facebook ve Apple Mülakat Sorusu]

LeetCode içerisinde bulunan “Valid Palindrome”‘ sorusunun açıklaması ve çözümü. Bu soruda verilen bir string’in içindeki sadece alfanümerik karakterleri göz önüne alarak bu string’in bir palindrom olup olmadığını bulmamızı istiyor. LeetCode’a göre Facebook ve Apple mülakatlarında sorulmuş sorulardan biri.

🔥 LeetCode 125. Valid Palindrome: https://leetcode.com/problems/valid-palindrome/

🔥 Palindrom nedir? https://tr.wikipedia.org/wiki/Palindrom

➡️ Problem açıklaması:

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

Note: For the purpose of this problem, we define empty string as valid palindrome.

Example 1:

Input: “A man, a plan, a canal: Panama”

Output: true

Example 2:

Input: “race a car”

Output: false

Constraints: s consists only of printable ASCII characters.

LeetCode Çözümleri – 83. Remove Duplicates from Sorted List – [Facebook ve Google Mülakat Sorusu]

LeetCode içerisinde bulunan “Remove Duplicates from Sorted List”‘ sorusunun açıklaması ve çözümü.

🔥 LeetCode 83. Remove Duplicates from Sorted List: https://leetcode.com/problems/remove-duplicates-from-sorted-list/

🔥 Bahsi geçen Linked List yazısı: https://www.cs.cmu.edu/~adamchik/15-121/lectures/Linked%20Lists/linked%20lists.html

➡️ Problem açıklaması:

Given a sorted linked list, delete all duplicates such that each element appear only once.

Example 1:

Input: 1–1–2

Output: 1–2

Example 2:

Input: 1–1–2–3–3

Output: 1–2–3

LeetCode Çözümleri – 67. Add Binary – [Facebook Mülakat Sorusu]

LeetCode içerisinde bulunan “Add Binary”‘ sorusunun açıklaması ve çözümü. Klasik ilkokulda toplama işlemini nasıl yapıyorsak alt alta, bu soruda da bu istenmiş. En önemli kısmı “elde” hesaplaması gibi görünüyor. LeetCode’a göre Facebook mülakatlarında sorulmuş sorulardan biri.

🔥 LeetCode 67. Add Binary: https://leetcode.com/problems/add-binary/

➡️ Problem açıklaması:

Given two binary strings, return their sum (also a binary string). The input strings are both non-empty and contains only characters 1 or 0.

Example 1:

Input: a = “11”, b = “1”

Output: “100”

Example 2:

Input: a = “1010”,

b = “1011”

Output: “10101”

Constraints:

☢️ Each string consists only of ‘0’ or ‘1’ characters.

☢️ 1 less or equal a.length, b.length less or equal 10^4

☢️ Each string is either “0” or doesn’t contain any leading zero.

LeetCode May Challenge – First Bad Version 1. GÜN – [Facebook Mülakat Sorusu]

LeetCode’un mayıs ayı için her gün bir programlama sorusu sorduğu “May Challenge”‘ın ilk gün sorusu “First Bad Version”‘ın açıklaması ve çözümü. LeetCode’a göre bu soru Facebook’un mülakatlarında sormuş olduğu sorulardan biriymiş.

🔥 LeetCode May Challenge: https://leetcode.com/explore/featured/card/may-leetcoding-challenge

✅ Problem açıklaması:

You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based on the previous version, all the versions after a bad version are also bad.

Suppose you have n versions [1, 2, …, n] and you want to find out the first bad one, which causes all the following ones to be bad.

You are given an API bool isBadVersion(version) which will return whether version is bad. Implement a function to find the first bad version. You should minimize the number of calls to the API.

Example: Given n = 5, and version = 4 is the first bad version.

call isBadVersion(3) returns false

call isBadVersion(5) returns true

call isBadVersion(4) returns true

Then 4 is the first bad version.

✅ Binary Search: https://en.wikipedia.org/wiki/Binary_search_algorithm