Write. Run.
Share.
Online compiler - run Python, JavaScript, C++ and Go right in your browser, publish snippets and fork projects
0
posts
0
users
import asyncio, hashlib, itertools
from collections import defaultdict, deque
from typing import Optional, List, Dict
class Node:
def __init__(s,k,v,p=None,n=None):
s.key,s.val,s.prev,s.next=k,v,p,n
class Ring:
def __init__(s,c):
s.cap,s.m=c,{}
s.h,s.t=Node(0,0),Node(0,0)
s.h.next,s.t.prev=s.t,s.h
def _rm(s,n):
n.prev.next,n.next.prev=n.next,n.prev
def _ins(s,n):
n.next,n.prev=s.h.next,s.h
s.h.next.prev,s.h.next=n,n
def get(s,k):
if k in s.m:
s._rm(s.m[k]); s._ins(s.m[k])
return s.m[k].val
return -1
def put(s,k,v):
if k in s.m: s._rm(s.m[k])
elif len(s.m)>=s.cap:
l=s.t.prev; s._rm(l); del s.m[l.key]
n=Node(k,v); s.m[k]=n; s._ins(n)
class Trie:
def __init__(s):
s.ch,s.end=defaultdict(Trie),False
def ins(s,w):
n=s
for c in w: n=n.ch[c]
n.end=True
Instant Run
Code runs in an isolated Docker container. Results in a second
Fork & Remix
Someone's snippet - into your editor with one click. Tweak and run
Multi-file
Create folders and modules. Imports work like in a real project
Community
Likes, comments and best posts feed