Skip to main content

Command Palette

Search for a command to run...

Java LeetCode

Updated
•1 min read•View as Markdown
Java LeetCode
  • LinkedHashMap

      public LinkedHashMap(int initialCapacity,
                       float loadFactor,
                       boolean accessOrder) {
      super(initialCapacity, loadFactor);
      this.accessOrder = accessOrder;}
    

LinkedHashMap map; int capacity;

public LRUCache(int capacity) {
    this.capacity = capacity;
    map = new LinkedHashMap<Integer, Integer>(capacity, 0.75f, true) {
        protected boolean removeEldestEntry(Map.Entry eldest) {
            return size() > capacity;
        }
    };
}

loadFactor: The load factor is a measure of how full the hash table is allowed to get before its capacity is automatically increased. When the number of entries in the hash table exceeds the product of the load factor and the current capacity, the hash table is rehashed (that is, internal data structures are rebuilt) so that the hash table has approximately twice the number of buckets.

accessOrder: By passing true to the accessOrder parameter in that constructor, you are saying you wish to iterate over the entries according to access order (and not insertion order).

  • RandomString

       public String getRandomString() {
              int leftLimit = 97; // letter 'a'
              int rightLimit = 122; // letter 'z'
              int targetStringLength = 10;
              Random random = new Random();
              StringBuilder buffer = new StringBuilder(targetStringLength);
              for (int i = 0; i < targetStringLength; i++) {
                  int randomLimitedInt = leftLimit + (int) (random.nextFloat() * (rightLimit - leftLimit + 1));
                  buffer.append((char) randomLimitedInt);
              }
              String generatedString = buffer.toString();
              return generatedString;
          }