Start a new Kumite
AllAgda (Beta)BF (Beta)CCFML (Beta)ClojureCOBOL (Beta)CoffeeScriptCommonLisp (Beta)CoqC++CrystalC#D (Beta)DartElixirElm (Beta)Erlang (Beta)Factor (Beta)Forth (Beta)Fortran (Beta)F#GoGroovyHaskellHaxe (Beta)Idris (Beta)JavaJavaScriptJulia (Beta)Kotlinλ Calculus (Beta)LeanLuaNASMNim (Beta)Objective-C (Beta)OCaml (Beta)Pascal (Beta)Perl (Beta)PHPPowerShell (Beta)Prolog (Beta)PureScript (Beta)PythonR (Beta)RacketRaku (Beta)Reason (Beta)RISC-V (Beta)RubyRustScalaShellSolidity (Beta)SQLSwiftTypeScriptVB (Beta)
Show only mine

Kumite (ko͞omiˌtā) is the practice of taking techniques learned from Kata and applying them through the act of freestyle sparring.

You can create a new kumite by providing some initial code and optionally some test cases. From there other warriors can spar with you, by enhancing, refactoring and translating your code. There is no limit to how many warriors you can spar with.

A great use for kumite is to begin an idea for a kata as one. You can collaborate with other code warriors until you have it right, then you can convert it to a kata.

Ad
Ad
Mathematics
Algorithms
Logic
Numbers
Data Types
Code
Diff
  • average=a=>a>''?require('ramda').mean(a):a.x
    • average=a=>a.length?require('ramda').mean(a):a.x
    • average=a=>a>''?require('ramda').mean(a):a.x

I have decided to update the scope to take a list and the number of terms that you wish to find the maximum product of.

This should be a more general solution to the problem.

I have included error handling for if the number of terms exceeds the length of sequence.

Code
Diff
  • import numpy
    import itertools
    
    def maximum_product_of_three(sequence, terms):
        max = 0
        combos = itertools.combinations(sequence, terms)
        
        for set in combos:
            if numpy.prod(set) > max:
                max = numpy.prod(set)
                combo = set
    
        return combo, max
    • def maximum_product_of_three(a):
    • a.sort()
    • return max(a[0]*a[1]*a[-1], a[-3]*a[-2]*a[-1])
    • import numpy
    • import itertools
    • def maximum_product_of_three(sequence, terms):
    • max = 0
    • combos = itertools.combinations(sequence, terms)
    • for set in combos:
    • if numpy.prod(set) > max:
    • max = numpy.prod(set)
    • combo = set
    • return combo, max
Code
Diff
  • def sorting(list):
        return sorted(list)
    • sorting = sorted # eh?
    • def sorting(list):
    • return sorted(list)

draw

Code
Diff
  • invert=s=>[...s].reverse``.join``
    • invert=s=>[...s].reverse().join``
    • invert=s=>[...s].reverse``.join``