Leetcode in Java && Oracle
422 subscribers
8 photos
397 files
400 links
Second channel: @codeforces_java

Let's Develop Together!
Download Telegram
image_2022-11-25_21-47-57.png
69.7 KB
#N118. Pascal's Triangle
problem link
#solution
class Solution {
public List<List<Integer>> generate(int rows) {
List<List<Integer>> list = new ArrayList<>();
List<Integer> temp = new ArrayList<>();
temp.add(1);
list.add(temp);
for(int i=2; i<=rows; i++){
List<Integer> temp1 = new ArrayList<>();
temp1.add(1);
for(int j=1; j<list.get(i-2).size(); j++){
temp1.add(list.get(i-2).get(j-1) + list.get(i-2).get(j));
}
temp1.add(1);
list.add(temp1);
}

return list;
}
}
👍2
image_2022-11-30_23-05-13.png
48.5 KB
#N2367. Number of Arithmetic Triplets
problem link
#solution
class Solution {
public int arithmeticTriplets(int[] nums, int diff) {
int count=0;
Set<Integer> set = new HashSet<>();
for(int n: nums) set.add(n);
for(int i=0; i<nums.length; i++){
if(set.contains(nums[i]+diff) && set.contains(nums[i]+2*diff)) count++;
}
return count;
}
}
3👍1
image_2022-12-06_08-59-27.png
152.7 KB
I liked new UI of leetcode.com ;)
image_2022-12-13_01-43-00.png
12 KB
#N205. Isomorphic Strings
problem link
#solution

class Solution {
public boolean isIsomorphic(String s, String t) {
Map<Character, Character> map = new HashMap<>();
Map<Character, Character> map1 = new HashMap<>();
for(int i=0; i<s.length(); i++){
if(map.containsKey(s.charAt(i)) && map.get(s.charAt(i))!=t.charAt(i)
|| map1.containsKey(t.charAt(i)) && map1.get(t.charAt(i))!=s.charAt(i)){
return false;
}else if(!map.containsKey(s.charAt(i))){
map.put(s.charAt(i), t.charAt(i));
map1.put(t.charAt(i), s.charAt(i));
}
}
return true;
}
}
3👍1
image_2022-12-15_00-24-17.png
29.5 KB
Runtime 13 ms Beats 95.50%
Memory 46.2 MB Beats 91.49%

#N703. Kth Largest Element in a Stream
problem link
#solution
class KthLargest {
int k;
PriorityQueue<Integer> pq;
public KthLargest(int k, int[] nums) {
pq=new PriorityQueue<>();
for(int n: nums) pq.offer(n);
this.k=k;
while(pq.size()>k) pq.poll();
}

public int add(int val) {
pq.offer(val);
if(pq.size()>k) pq.poll();
return pq.peek();
}
}
3👍1
image_2022-12-15_01-55-30.png
43.1 KB
Runtime 2 ms Beats 81.30% Memory 41.9 MB Beats 88.62%


#N883. Projection Area of 3D Shapes
problem link
#solution
class Solution {
public int projectionArea(int[][] grid) {
int xy=0, yz=0, zx=0, max=0;

for(int i=0; i<grid.length; i++){
for(int j=0; j<grid[0].length; j++){
if(grid[i][j]!=0) xy++;
max=Math.max(max, grid[i][j]);
}
zx+=max;
max=0;
}
for(int i=0; i<grid[0].length; i++){
for(int j=0; j<grid.length; j++)
max=Math.max(max, grid[j][i]);
yz+=max;
max=0;
}

return xy+yz+zx;
}
}
👍5
image_2022-12-22_00-42-57.png
30.2 KB
Runtime 3 ms Beats 99.42%
Memory 42.1 MB Beats 97.7%

#N2500. Delete Greatest Value in Each Row
problem link
#solution
class Solution {
public int deleteGreatestValue(int[][] grid) {
int m=grid.length, n=grid[0].length;
int sum=0, max=0;
for(int i=0; i<m; i++) Arrays.sort(grid[i]);

for(int i=n-1; i>=0; i--){
max=0;
for(int j=0; j<m; j++){
if(grid[j][i]>max) max=grid[j][i];
}
sum+=max;
}
return sum;
}
}
3
image_2022-12-22_00-57-50.png
35 KB
Runtime 1 ms Beats 98.18%
Memory 40.9 MB Beats 82%

#N2283. Check if Number Has Equal Digit Count and Digit Value
problem link
#solution
class Solution {
public boolean digitCount(String num) {
Map<Integer, Integer> map = new HashMap<>();
for(char c: num.toCharArray()){
int n=c-'0';
map.put(n, map.getOrDefault(n, 0) +1);
}

for(int i=0; i<num.length(); i++){
if(!map.containsKey(i) && num.charAt(i)!='0'
|| map.containsKey(i) && map.get(i)!=num.charAt(i)-'0') return false;
}
return true;
}
}
2👍2
image_2022-12-22_01-16-57.png
33.6 KB
Runtime16 msBeats61.69%
Memory41.4 MBBeats66.23%
#N1399. Count Largest Group
problem link
#solution
class Solution {
public int countLargestGroup(int n) {
Map<Integer, Integer> map = new HashMap<>();
int count=0, max=0;
int[] dp = new int[n+1];

for(int i=1; i<=n; i++){
dp[i]=dp[i/10]+i%10;
map.put(dp[i], map.getOrDefault(dp[i], 0) +1);
if(map.get(dp[i])>max){
count=0;
max=map.get(dp[i]);
}
if(map.get(dp[i])==max) count++;
}
return count;
}
}
👍2
#note
Useful way to find sum of digits from 1 to n
dp[i]=dp[i/10]+i%10;
image_2022-12-22_01-42-08.png
8.7 KB
#N2481. Minimum Cuts to Divide a Circle
problem link
#solution
class Solution {
public int numberOfCuts(int n) {
return (n==1?0:n/(2-n%2));
}
}
👍2
#note
If we want to look through all subsets of array:
int n=arr.length;
for(int i=0; i<(1<<n); i++){
for(int j=0; j<n; j++){
if((i&(1<<j))>0){
System.out.println(arr[j]+" ");
}
}
}
🔥2👌1
I know this is not a big result.😀
I just wanted to share like others😅
🔥6
-2147483648_-215531.jpg
46.1 KB
Little achievement from Leetcode
🔥3
image_2023-01-02_03-24-42.png
61 KB
Runtime1 msBeats95.21%
Memory40.3 MBBeats73.73%

#N290. Word Pattern
problem link
#solution
class Solution {
public boolean wordPattern(String pattern, String s) {
Map<Character, String> map = new HashMap<>();
int i=0;
for(String part: s.split(" ")){
if(i==pattern.length()||map.containsKey(pattern.charAt(i)) && !map.get(pattern.charAt(i)).equals(part)
||map.containsValue(part) && get(map, part)!=pattern.charAt(i))
return false;

map.put(pattern.charAt(i), part);
i++;
}

return i==pattern.length();
}
public char get(Map<Character, String> map, String part){
for (Map.Entry<Character, String> entry : map.entrySet()) {
if (entry.getValue().equals(part)) {
return entry.getKey();
}
}
return '0';
}
}
👍2
image_2023-01-04_06-06-40.png
39.5 KB
Runtime11 msBeats98.9%
Memory51.3 MBBeats99.48

#N2244. Minimum Rounds to Complete All Tasks
problem link
#solution
class Solution {
public int minimumRounds(int[] tasks) {
Arrays.sort(tasks);
int l=tasks.length;
if(l>1 && tasks[l-2]!=tasks[l-1]) return -1;
int r=0, type=tasks[0], count=0;


for(int i=0; i<l; i++){
if(type==tasks[i]) count++;
if(type!=tasks[i] || i==l-1){
type=tasks[i];
if(count==1) return -1;
else r+=count/3 + (count%3+count%3%2)/2;
count=1;
}
}
return r;
}
}
👍32
image_2023-01-06_04-11-25.png
42.7 KB
Runtime70 msBeats76.84%
Memory80 MBBeats68.31%

#N452. Minimum Number of Arrows to Burst Balloons
problem link
#solution
class Solution {
public int findMinArrowShots(int[][] points) {
int n=points.length;
//Arrays.sort(points, Comparator.comparingInt(o -> o[0]));
Arrays.sort(points, (a, b) -> Integer.compare(a[0], b[0]));
int l=points[0][0], r=points[0][1], count=1;
for(int i=0; i<n; i++){
if(points[i][0]>r || points[i][1]<l){ // not cross
l=points[i][0];
r=points[i][1];
count++;
}else{
l=Math.max(l, points[i][0]);
r=Math.min(r, points[i][1]);
}
}
return count;
}
}
👍2
image_2023-01-10_19-12-08.png
24.3 KB
Runtime0 msBeats100%
Memory40 MBBeats62.93%
#N100. Same Tree
problem link
#solution
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
if(p==null&&q==null) return true;
if(p==null||q==null) return false;
if(p.val!=q.val) return false;

return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}
}
👍4
image_2023-01-15_02-26-20.png
65.8 KB
Runtime2 msBeats88.7%
Memory40.4 MBBeats99.43%

#N1061. Lexicographically Smallest Equivalent String
problem link
#solution
class Solution {
public String smallestEquivalentString(String s1, String s2, String base) {
int[] graph = new int[26];
for(int i=0; i<26; i++) graph[i]=i;
for(int i=0; i<s1.length(); i++){
int a1=s1.charAt(i)-'a';
int a2=s2.charAt(i)-'a';
int p1=find(graph, a1);
int p2=find(graph, a2);
if(p1<p2) graph[p2]=p1;
else graph[p1]=p2;
}
StringBuilder sb = new StringBuilder();
for(Character ch: base.toCharArray())
sb.append((char)(find(graph, ch-'a')+'a'));
return sb.toString();
}
public int find(int[] graph, int x){
while(x!=graph[x])
x=graph[x];
return x;
}
}
👍51
Leetcode in Java && Oracle
image_2023-01-15_02-26-20.png
#note
union-find algorithm is to find cycle in undirected graph