Sha256: 361657ce5c47829f4e5b7d76f0679d50e0e505f303e6100d8e44339ddbdf5b19

Contents?: true

Size: 561 Bytes

Versions: 200

Compression:

Stored size: 561 Bytes

Contents

function! LargestProduct(digits, span) abort
  if a:span == 0
    return 1
  elseif a:span < 0 || empty(a:digits)
    return -1
  endif

  let max = -1

  for i in range(len(a:digits) - a:span + 1)
    let tmp = s:product(a:digits[i : i + a:span - 1])
    if tmp > max
      let max = tmp
    endif
  endfor

  return max
endfunction

function! s:product(digits) abort
  let prod = a:digits[0]

  for digit in split(a:digits[1:], '\zs')
    if digit !~? '\d'
      throw 'invalid input'
    endif
    let prod = prod * digit
  endfor

  return prod
endfunction

Version data entries

200 entries across 200 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.179 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.178 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.177 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.176 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.175 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.174 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.173 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.172 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.171 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.170 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.169 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.167 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.166 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.165 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.164 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.163 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.162 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.161 tracks/vimscript/exercises/largest-series-product/example.vim
trackler-2.2.1.160 tracks/vimscript/exercises/largest-series-product/example.vim