Skip to content

Commit cec53c0

Browse files
committed
Added Top Interview Questions ✅
1 parent d9a645f commit cec53c0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1752
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution {
2+
public int climbStairs(int n) {
3+
4+
int[] dp = new int[n + 1];
5+
if (n == 1) {
6+
return 1;
7+
}
8+
if (n == 2) {
9+
return 2;
10+
}
11+
dp[0] = 0;
12+
dp[1] = 1;
13+
dp[2] = 2;
14+
15+
for (int i = 3; i <= n; i++) {
16+
dp[i] = dp[i-1] + dp[i - 2];
17+
}
18+
19+
return dp[n];
20+
21+
22+
}
23+
}
956 Bytes
Binary file not shown.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
class CountAndSay {
2+
public static void main(String[] args) {
3+
System.out.println(countAndSay(3));
4+
}
5+
6+
public static String countAndSay(int n) {// Eg 3 ie 21
7+
8+
String s = "1";
9+
10+
for (int i = 1; i < n; i++) {
11+
12+
StringBuilder sb = new StringBuilder();
13+
14+
for (int j = 1, count = 1; j <= s.length(); j++) {
15+
16+
if (j == s.length() || s.charAt(j - 1) != s.charAt(j)) {
17+
18+
//System.out.println("IN IF " + s + " SB " +sb);
19+
sb.append(count);
20+
sb.append(s.charAt(j - 1));
21+
count = 1;
22+
//System.out.println("IN IF END " + s + " SB: " +sb + " co: "+count);
23+
24+
} else {
25+
count++;
26+
}
27+
}
28+
29+
s = sb.toString();
30+
}
31+
return s;
32+
}
33+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
public int countPrimes(int n) {
3+
4+
boolean[] notPrime = new boolean[n]; //Initially everything is false
5+
int count = 0;
6+
7+
for (int i = 2; i < n; i++) {//Eg 10
8+
9+
if (notPrime[i] == false) { //2 is prime incr count
10+
count++;
11+
12+
for (int j = 2; i*j < n; j++) { //For 2 4 6 8 marks as NotPrime
13+
notPrime[i*j] = true;
14+
}
15+
}
16+
}
17+
18+
return count;
19+
20+
}
21+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution{
2+
3+
public int trailingZero(int n) { //Eg 25
4+
5+
return n == 0 ? 0 : (n/2 + trailingZero(n/2));
6+
7+
//25/2 = 5 + (25/2) => 5 + 1 = 6
8+
9+
}
10+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution {
2+
public int firstUniqChar(String s) {
3+
int freq [] = new int[26];
4+
5+
for(int i = 0; i < s.length(); i ++)
6+
freq [s.charAt(i) - 'a'] ++;
7+
8+
for(int i = 0; i < s.length(); i ++)
9+
if(freq [s.charAt(i) - 'a'] == 1)
10+
return i;
11+
12+
return -1;
13+
}
14+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import java.util.*;
2+
class FizzBuzz {
3+
4+
public List<String> fizzBuzz(int n) {
5+
List<String> list = new ArrayList<String>(n);
6+
7+
for(int i=1, fizz=0, buzz=0; i<=n ;i++){
8+
9+
fizz++;
10+
buzz++;
11+
12+
if(fizz==3 && buzz==5){
13+
list.add("FizzBuzz");
14+
fizz=0;
15+
buzz=0;
16+
17+
}else if(fizz==3){
18+
list.add("Fizz");
19+
fizz=0;
20+
21+
}else if(buzz==5){
22+
list.add("Buzz");
23+
buzz=0;
24+
25+
}else{
26+
list.add(String.valueOf(i));
27+
}
28+
}
29+
return list;
30+
}
31+
}
894 Bytes
Binary file not shown.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import java.util.*;
2+
class HappyNumber {
3+
public static void main(String[] args) {
4+
isHappy(19);
5+
}
6+
public static boolean isHappy(int n) {
7+
8+
if(n < 10) {
9+
10+
if(n==1||n==7)
11+
return true;
12+
else
13+
return false;
14+
}
15+
16+
int b;
17+
int sum=0;
18+
19+
while(n > 0) {
20+
b = n % 10;
21+
sum = sum + b*b;
22+
n = n / 10;
23+
}
24+
25+
return isHappy(sum);
26+
}
27+
28+
29+
/* ANNOTHER SOLUTION */
30+
public boolean isHappy2(int n) {
31+
Set<Integer> set = new HashSet<>();
32+
while(getSquareSum(n) != 1){
33+
n = getSquareSum(n);
34+
if(!set.add(n))return false;
35+
}
36+
return true;
37+
}
38+
39+
private int getSquareSum(int n){
40+
int result = 0;
41+
while(n != 0){
42+
result += Math.pow(n%10,2);
43+
n = n/10;
44+
}
45+
return result;
46+
}
47+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
class Solution {
2+
3+
public int rob(int[] nums) { //Eg 2, 7 ,9 ,3 ,1
4+
5+
int n = nums.length; //n=5
6+
7+
if (n == 0) return 0;
8+
9+
if (n == 1) return nums[0];
10+
11+
if (n > 2) //9+2 = 11
12+
nums[2] += nums[0]; //Arr becomes 2 7 11 3 1
13+
14+
15+
for (int i = 3; i < n; i++) //num[3] = 3 + Max(7,2) => 10, Arr [2 7 11 10 1]
16+
nums[i] += Math.max(nums[i-2], nums[i-3]); //num[4] = 1 + Max(11,7) => 12
17+
18+
19+
return Math.max(nums[n-1], nums[n-2]); //Max(12,10) => return 12 correct ans
20+
}
21+
22+
/* ANOTHER APPROACH */
23+
public int rob2(int[] nums) {
24+
if (nums.length == 0) return 0;
25+
26+
int[] memo = new int[nums.length + 1];
27+
memo[0] = 0;
28+
memo[1] = nums[0];
29+
30+
for (int i = 1; i < nums.length; i++) {
31+
int val = nums[i];
32+
memo[i+1] = Math.max(memo[i], memo[i-1] + val);
33+
}
34+
35+
return memo[nums.length];
36+
}
37+
}

0 commit comments

Comments
 (0)