Skip to content

Commit ef3ba28

Browse files
committed
Solved 3 problems
1 parent 27299b6 commit ef3ba28

File tree

3 files changed

+119
-0
lines changed

3 files changed

+119
-0
lines changed

Easy/Add Binary.java

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
class Solution {
2+
public String addBinary(String a, String b) {
3+
int maxL = Math.max(a.length(), b.length());
4+
5+
if (a.length() < maxL) {
6+
a = String.join("", Collections.nCopies(maxL - a.length(), "0")) + a;
7+
}
8+
9+
if (b.length() < maxL) {
10+
b = String.join("", Collections.nCopies(maxL - b.length(), "0")) + b;
11+
}
12+
13+
int carry = 0;
14+
StringBuilder sb = new StringBuilder("");
15+
16+
for (int i=a.length()-1;i>=0;i--) {
17+
if (a.charAt(i) == '1' && b.charAt(i) == '1') {
18+
if (carry == 1) {
19+
sb.append("1");
20+
}
21+
else {
22+
sb.append("0");
23+
}
24+
25+
carry = 1;
26+
}
27+
28+
else if (a.charAt(i) == '0' && b.charAt(i) == '0') {
29+
sb.append(String.valueOf(carry));
30+
carry = 0;
31+
}
32+
33+
else if (a.charAt(i) != b.charAt(i)) {
34+
if (carry == 1) {
35+
sb.append("0");
36+
}
37+
else {
38+
sb.append("1");
39+
}
40+
}
41+
}
42+
43+
if (carry == 1) {
44+
sb.append("1");
45+
}
46+
47+
return sb.reverse().toString();
48+
}
49+
}

Easy/Plus One.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
class Solution {
2+
public int[] plusOne(int[] digits) {
3+
4+
int carry = 1;
5+
List<Integer> ans = new ArrayList<>();
6+
7+
for (int i=digits.length-1;i>=0;i--) {
8+
if (digits[i] == 9 && carry == 1) {
9+
ans.add(0);
10+
carry = 1;
11+
}
12+
else if (carry == 1) {
13+
ans.add(digits[i]+carry);
14+
carry = 0;
15+
}
16+
else {
17+
ans.add(digits[i]+carry);
18+
}
19+
}
20+
21+
if (carry!=0) {
22+
ans.add(carry);
23+
}
24+
25+
Collections.reverse(ans);
26+
27+
int [] a = new int[ans.size()];
28+
29+
for (int k=0; k<ans.size();k++) {
30+
a[k] = ans.get(k);
31+
}
32+
33+
return a;
34+
}
35+
}

Easy/Ransom Note.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
class Solution {
2+
public boolean canConstruct(String ransomNote, String magazine) {
3+
Map<Character, Integer> noteMap = new HashMap<>();
4+
Map<Character, Integer> magMap = new HashMap<>();
5+
6+
for(char c: ransomNote.toCharArray()) {
7+
if (noteMap.containsKey(c)) {
8+
noteMap.put(c, noteMap.get(c) + 1);
9+
}
10+
else {
11+
noteMap.put(c, 1);
12+
}
13+
}
14+
15+
for(char c: magazine.toCharArray()) {
16+
if (magMap.containsKey(c)) {
17+
magMap.put(c, magMap.get(c) + 1);
18+
}
19+
else {
20+
magMap.put(c, 1);
21+
}
22+
}
23+
24+
for (Map.Entry<Character, Integer> entry: noteMap.entrySet()) {
25+
if (magMap.containsKey(entry.getKey()) && magMap.get(entry.getKey()) >= entry.getValue()) {
26+
continue;
27+
}
28+
else {
29+
return false;
30+
}
31+
}
32+
33+
return true;
34+
}
35+
}

0 commit comments

Comments
 (0)