보통
Random Pick with Weight
코드 라인과 단계 ID를 동기화하고, 변수/포인터/배열·행렬·그래프 엔티티의 상태 스냅샷을 단계마다 갱신한다.
1 / 6정렬된 배열에서 23을 찾습니다. 처음엔 전체(10칸)가 후보입니다 — lo는 왼쪽 끝, hi는 오른쪽 끝.
목표: 23
25812162338567291lohi
단계 목록 · 키보드 ←/→ 이동, Space 재생
구현 계약펼쳐서 명세 보기 · 참고 자료
- 분류
- Binary Search · dsa-workbench
- 구현 핵심
- 코드 라인과 단계 ID를 동기화하고, 변수/포인터/배열·행렬·그래프 엔티티의 상태 스냅샷을 단계마다 갱신한다.
- 의도
- Random Pick with Weight의 입력·판단·결과 변화를 Binary Search 관점에서 단계별로 시각화한다.
- 입력 프리셋
- 페이지별 프리셋 버튼 제공
- 입력 검증
- range 1..100, integer, positive
- 언어/코드
- python, java, cpp, csharp, go, javascript, typescript; 코드 템플릿 있음; 단계↔라인 키 -, build_prefix, show_total, pick_target, init_search, calculate_mid, search_right, search_left, found_index
- 단계 모델
- 초기 프리셋 12단계; 기록 ID -, build_prefix, show_total, pick_target, init_search, calculate_mid, search_right, search_left, found_index
- 시각 상태
- 엔티티 arrayElement, metadata, pointer; 상태/단계 값 active, highlight
- 화면 옵션
- 입력 패널 있음, 시각화 있음, 변수표 숨김, 전체화면 지원