TGViewer
Coding Interview Resources Coding Interview Resources @crackingthecodinginterview · 52.2K subscribers
Post #2908 1.9K
✅ Core Coding Interview Questions With Answers - Part 6 [Python Code] 🖥️

---

51. How do you reverse a string?
s = "hello"
# Method 1: Slicing
reversed_s = s[::-1] # "olleh"

# Method 2: Two Pointers (In-place logic)
chars = list(s)
left, right = 0, len(chars) - 1
while left < right:
chars[left], chars[right] = chars[right], chars[left]
left += 1
right -= 1
reversed_s = ''.join(chars)

52. How do you check if a string is a palindrome?
def is_palindrome(s):
# Clean string: lowercase and remove spaces
s = s.lower().replace(" ", "")

# Method 1: Slicing
return s == s[::-1]

# Method 2: Two Pointers
left, right = 0, len(s) - 1
while left < right:
if s[left] != s[right]:
return False
left += 1
right -= 1
return True

53. How do you find duplicates in an array?
arr = [1, 2, 2, 3]
seen = set()
dups = set()

for num in arr:
if num in seen:
dups.add(num)
seen.add(num)

print(list(dups)) # Output: [2]

54. How do you find the missing number in a range from 1 to n?
arr = [1, 2, 4] # Missing 3
n = len(arr) + 1 # Should be 4 elements total
expected_sum = n * (n + 1) // 2
actual_sum = sum(arr)

missing_number = expected_sum - actual_sum # 3

55. How do you merge two sorted arrays?
arr1, arr2 = [1, 3], [2, 4]
i, j = 0, 0
result = []

while i < len(arr1) and j < len(arr2):
if arr1[i] < arr2[j]:
result.append(arr1[i])
i += 1
else:
result.append(arr2[j])
j += 1

# Append remaining elements
result.extend(arr1[i:])
result.extend(arr2[j:])

56. How do you find the nth Fibonacci number?
def fib(n):
if n <= 1:
return n
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b

print(fib(6)) # Output: 8

57. How do you compute factorial? (Recursion vs Memoization)
# Simple Recursion
def fact(n):
if n <= 1: return 1
return n * fact(n - 1)

# Recursive with Memoization (Optimization)
memo = {}
def fact_memo(n):
if n in memo: return memo[n]
if n <= 1: return 1
memo[n] = n * fact_memo(n - 1)
return memo[n]

print(fact(5)) # Output: 120

58. How do you remove duplicates from a sorted array in-place?
arr = [1, 1, 2, 2, 3]
if not arr: return 0

slow = 0
for fast in range(1, len(arr)):
if arr[fast] != arr[slow]:
slow += 1
arr[slow] = arr[fast]

# Resulting array up to 'slow + 1' index
print(arr[:slow + 1]) # Output: [1, 2, 3]

59. How do you solve the Two Sum problem?
nums, target = [2, 7, 11, 15], 9
mapping = {}

for i, num in enumerate(nums):
complement = target - num
if complement in mapping:
print([mapping[complement], i]) # Output: [0, 1]
mapping[num] = i

60. Interview tip you must remember

- Code Cleanly: Use meaningful variable names (e.g., current_sum instead of s).
- Test Immediately: Verbally walk through your code with a small test case before the interviewer asks you to.
- Discuss Optimization: Always mention Time and Space Complexity. Say: *"This is O(n) time and O(n) space. We could optimize space by..."*

---

Double Tap ❤️ For Part 7
  • ❤ 7
More from @crackingthecodinginterview
  1. Oct 8, 2026🎓 𝗠𝗶𝗰𝗿𝗼𝘀𝗼𝗳𝘁 𝗙𝗥𝗘𝗘 𝗖𝗼𝘂𝗿𝘀𝗲𝘀 𝘄𝗶𝘁𝗵 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗲𝘀! 🚀🔥 Upgr…
  2. Oct 7, 2026🚀 DSA Topics Every Programmer Should Know 💻🔥 📦 1. Arrays ✔ Traversal ✔ Searching ✔ Sor…
  3. Oct 7, 2026🚀𝗣𝗮𝘆 𝗔𝗳𝘁𝗲𝗿 𝗣𝗹𝗮𝗰𝗲𝗺𝗲𝗻𝘁 𝗧𝗿𝗮𝗶𝗻𝗶𝗻𝗴 | 𝗕𝗲𝗰𝗼𝗺𝗲 𝗮 𝗙𝘂𝗹𝗹𝘀𝘁𝗮𝗰…
  4. Oct 7, 2026𝗠𝗮𝘀𝘁𝗲𝗿 𝗣𝗼𝘄𝗲𝗿 𝗕𝗜 𝗳𝗼𝗿 𝗙𝗥𝗘𝗘! 🔥 Learn Power BI through these FREE learnin…
  5. Sep 29, 2026✅ Daily Coding Habits That Make You a Better Developer 🧠💻✨ 1️⃣ Code Every Day (Even 30 M…
  6. Sep 29, 2026𝗙𝗥𝗘𝗘 𝗥𝗲𝘀𝗼𝘂𝗿𝗰𝗲𝘀 𝗧𝗼 𝗟𝗲𝗮𝗿𝗻 𝗔𝗜 𝗶𝗻 𝟮𝟬𝟮𝟲🚀 ​ Explore 6 free resource…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →