Skip to content

Instantly share code, notes, and snippets.

View RakhmedovRS's full-sized avatar
👀
Watching you

Ruslan Rakhmedov RakhmedovRS

👀
Watching you
View GitHub Profile
public boolean isValidBST(TreeNode root)
{
Integer[] prev = new Integer[1];
return isValidBST(root, prev);
}
public boolean isValidBST(TreeNode root, Integer[] prev)
{
boolean left = true;
if (root.left != null)
public int[] topKFrequent(int[] nums, int k) {
Map<Integer, Integer> valueToCount = new HashMap<>();
int max = 0;
for (int num : nums) {
int count = valueToCount.getOrDefault(num, 0) + 1;
valueToCount.put(num, count);
max = Math.max(max, count);
}
System.out.println(valueToCount);
int pos = max;
int[] answer = new int[k];
int i = 0;
while (pos >= 0) {
for (int value : buckets.get(pos)) {
answer[i++] = value;
if (i == k) {
return answer;
}
}
for (Map.Entry<Integer, Integer> entry : valueToCount.entrySet()) {
buckets.get(entry.getValue()).add(entry.getKey());
}
List<List<Integer>> buckets = new ArrayList<>();
for (int i = 0; i <= max; i++) {
buckets.add(new ArrayList<>());
}
Map<Integer, Integer> valueToCount = new HashMap<>();
int max = 0;
for (int num : nums) {
int count = valueToCount.getOrDefault(num, 0) + 1;
valueToCount.put(num, count);
max = Math.max(max, count);
}
public int[] topKFrequent(int[] nums, int k) {
Map<Integer, Integer> valueToCount = new HashMap<>();
for (int num : nums) {
int count = valueToCount.getOrDefault(num, 0) + 1;
valueToCount.put(num, count);
}
int pos = 0;
int[] answer = new int[k];
PriorityQueue<Integer> pq = new PriorityQueue<>((a,b) ->
int pos = 0;
int[] answer = new int[k];
PriorityQueue<Integer> pq = new PriorityQueue<>((a,b) ->
valueToCount.get(b) - valueToCount.get(a));
pq.addAll(valueToCount.keySet());
while (k-- > 0)
{
answer[pos++] = pq.remove();
}
PriorityQueue<Integer> pq = new PriorityQueue<>((a,b) ->
valueToCount.get(b) - valueToCount.get(a));
Map<Integer, Integer> valueToCount = new HashMap<>();
for (int num : nums) {
int count = valueToCount.getOrDefault(num, 0) + 1;
valueToCount.put(num, count);
}