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))
|