File size: 1,691 Bytes
8c89a6d 6a914f4 3788f63 bcc3eb3 3788f63 293121e 83b66cb 08dccaf 71d997f f4afc21 83b66cb 35b35ab d80e0ae be31a1d d80e0ae f5e6a19 b4a4ef7 f5e6a19 35b35ab be31a1d 3996319 04484c3 35b35ab b4a4ef7 35b35ab |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
import random
import pandas as pd
import streamlit as st
from datasets import load_dataset
st.title("Code Arena")
with st.spinner("Loading data...", show_time=True):
problem_dict = dict()
ds = load_dataset("Elfsong/leetcode_data", split='train')
for problem in ds:
problem_id = problem["problem_id"]
problem_dict[problem_id] = problem
if "problem" in st.query_params:
problem_id = int(st.query_params["problem"])
st.write(f"Problem Description - [{problem_id}]")
st.write(problem_dict[problem_id])
else:
with st.spinner("Loading Framework...", show_time=True):
df = pd.DataFrame(
{
"problem_id": [int(problem['problem_id']) for problem in ds],
"problem_link": ["https://huggingface.co/spaces/Elfsong/CodeArena/?problem=" + str(problem['problem_id']) for problem in ds],
"dynamic_point": [[random.randint(0, 5000) for _ in range(30)] for problem in ds],
}
)
tab_problem, tab_submission, tab_model = st.tabs(["Problems", "Submissions", "Models"])
with tab_problem:
st.dataframe(
df,
column_config={
"problem_id": st.column_config.NumberColumn("Problem ID"),
"dynamic_point": st.column_config.LineChartColumn("Dynamic Point", y_min=0, y_max=5000),
"problem_link": st.column_config.LinkColumn("Link", display_text="Open"),
},
column_order=("problem_id", "dynamic_point", "problem_link"),
hide_index=True,
)
with tab_submission:
st.header("Submissions")
with tab_model:
st.header("Models")
|