Skip to content

Instantly share code, notes, and snippets.

View VarunVats9's full-sized avatar
🏠
Working from home

VarunVats9

🏠
Working from home
View GitHub Profile
package com.practice.codingblocks;
import java.util.HashMap;
import java.util.HashSet;
public class SlidingWindow {
private static int maximumWindowSum(int[] arr, int k) {
@VarunVats9
VarunVats9 / userfeed.md
Created February 25, 2019 05:24
Readme
  1. Run the application : a) Either do --> java -jar path_to_userfeed.jar b) Or if have maven --> mvn spring-boot:run

  2. Once done, run a curl command (POST) localhost:8080/setup?userId=1 [This will set the friends (follower) list (2, 3) for this user.]

  3. Now, you can create posts for this user, run a curl command (POST) localhost:8080/post a) This requires JSON to be send as requestBody, for example : { "userId" : 1

import java.time.LocalDateTime;
import java.time.OffsetDateTime;
public class RequestEntry {
private LocalDateTime localDateTime;
public RequestEntry(final LocalDateTime localDateTime) {
localDateTime.toEpochSecond(OffsetDateTime.now().getOffset());
this.localDateTime = localDateTime;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class LeakyBucket {
public static final int API_REQUEST_LIMIT_OF_THE_SERVER = 5;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadLocalRandom;
public class TokenBucket {
public static final ConcurrentHashMap<String, TokenEntry> userTokenCount = new ConcurrentHashMap<>();
public final static int API_LIMIT_FOR_EACH_USER = 5;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
public class Boggle {
private static final int[][] DIRECTIONS = new int[][]{
{0, 1}, // E
{1, 0}, // S
import java.util.Comparator;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import java.util.Stack;
import java.util.TreeSet;
public class ConnectedCells {
private static final String SEPARATOR = "--------------------------------------------------------------------";
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import java.util.Stack;
public class FloodFill {
private static final String SEPARATOR = "--------------------------------------------------------------------";
private static final int[][] directions = new int[][]{
public class AutoSuggestion {
private static final int TEN_THOUSAND_REQUESTS = 10000;
private static final int START = 0;
private static final String SEPARATOR = "--------------------------------------------------------------------" +
"---------------------------------------------------------------";
public static void main(String[] args) {
/*