aboutsummaryrefslogtreecommitdiff
path: root/racket/leetcode/lc-747-largest-number-twice.rkt
blob: cea931b23b7e0ba2cf2f5adf943d82f83041d7d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#lang racket
(define/contract (dominant-index nums)
  (-> (listof exact-integer?) exact-integer?)
  (if (empty? (cdr nums))
      0
      (let* ([indexed-list
              (map cons nums (range (length nums)))]
             [sorted-indexed-list
              (sort indexed-list > #:key car)])
        (if ((car (first sorted-indexed-list)) . >= . (* 2 (car (second sorted-indexed-list))))
            (cdr (first sorted-indexed-list))
            -1))))

(dominant-index '(3 6 1 0))
(dominant-index '(0))