Skip to content

Commit 3fef036

Browse files
committed
Added 4 solutions
1 parent 283b874 commit 3fef036

File tree

4 files changed

+116
-0
lines changed

4 files changed

+116
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
public int smallestRangeII(int[] A, int K) {
3+
int N = A.length;
4+
Arrays.sort(A);
5+
int ans = A[N-1] - A[0];
6+
7+
for (int i=0; i<N-1; i++) {
8+
int max = Math.max(A[N-1] - K, A[i] + K);
9+
int min = Math.min(A[0] + K, A[i+1] - K);
10+
11+
ans = Math.min(ans, max - min);
12+
}
13+
14+
return ans;
15+
}
16+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution {
2+
public static int numSpecialEquivGroups(String[] A) {
3+
Set<String> set = new HashSet<>();
4+
5+
for (String s : A) {
6+
int[] even = new int[26];
7+
int[] odd = new int[26];
8+
9+
for (int i=0; i<s.length(); i++) {
10+
if (i%2 == 0) {
11+
even[s.charAt(i) - 'a']++;
12+
}
13+
else {
14+
odd[s.charAt(i) - 'a']++;
15+
}
16+
}
17+
18+
set.add(Arrays.toString(even) + "|" + Arrays.toString(odd));
19+
}
20+
21+
return set.size();
22+
}
23+
}

Easy/Magic Squares In Grid.java

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
class Solution {
2+
public int numMagicSquaresInside(int[][] grid) {
3+
int rows = grid.length;
4+
int col = grid[0].length;
5+
int count = 0;
6+
7+
for (int i=0; i<=rows-3; i++) {
8+
for (int j=0; j<=col-3; j++) {
9+
if(checker(i, j, grid)) {
10+
count++;
11+
}
12+
}
13+
}
14+
15+
return count;
16+
}
17+
18+
private boolean checker(int x,int y,int[][] grid){
19+
if(grid[x+1][y+1]!=5) {
20+
return false;
21+
}
22+
23+
int[] valid=new int[16];
24+
25+
for(int i=x;i<=x+2;i++) {
26+
for(int j=y;j<=y+2;j++) {
27+
valid[grid[i][j]]++;
28+
}
29+
}
30+
31+
for (int v = 1; v <= 9; v++) {
32+
if (valid[v] != 1) {
33+
return false;
34+
}
35+
}
36+
37+
if ((grid[x][y]+grid[x][y+1]+grid[x][y+2])!=15 ||
38+
(grid[x][y]+grid[x+1][y+1]+grid[x+2][y+2])!=15 ||
39+
(grid[x][y]+grid[x+1][y]+grid[x+2][y])!=15 ||
40+
(grid[x+2][y]+grid[x+2][y+1]+grid[x+2][y+2])!=15 ||
41+
(grid[x][y+2]+grid[x+1][y+2]+grid[x+2][y+2])!=15 ||
42+
(grid[x][y+2]+grid[x+1][y+1]+grid[x+2][y])!=15) {
43+
44+
return false;
45+
}
46+
47+
return true;
48+
}
49+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
class Solution {
2+
public static int maxDistToClosest(int[] seats) {
3+
int left = -1;
4+
int max = 0;
5+
int length = seats.length;
6+
7+
for (int i=0; i<length; i++) {
8+
if (seats[i] == 0) {
9+
continue;
10+
}
11+
12+
if (left == -1) {
13+
max = Math.max(max, i);
14+
}
15+
else {
16+
max = Math.max(max, (i-left)/2);
17+
}
18+
19+
left = i;
20+
}
21+
22+
if (seats[length - 1] == 0) {
23+
max = Math.max(max, length - 1 - left);
24+
}
25+
26+
return max;
27+
}
28+
}

0 commit comments

Comments
 (0)