Largest int from concatenated ints: Difference between revisions

<lang julia></lang>
(<lang julia></lang>)
Line 1,148:
=={{header|Julia}}==
Perhaps algorithm 3 is more efficient, but algorithm 2 is decent and very easy to implement in Julia. So this solution uses algorithm 2.
 
<lang Julia>
<lang julia>function maxconcat{T<:Integer}(aarr::ArrayVector{T,1<:Integer})
b = sort(dec.(arr); lt=(x, y) -> x * y < y * x, rev=true) |> join
b = map(string, a)
breturn =try sortparse(bInt, lt=(x,yb)->x*y <catch y*xparse(BigInt, rev=trueb) end
b = join(b, "")
try
b = parseint(b)
catch
b = parseint(BigInt, b)
end
end
 
tests = {([1, 34, 3, 98, 9, 76, 45, 4],
[54, 546, 548, 60],
[1, 34, 3, 98, 9, 76, 45, 4, 54, 546, 548, 60]})
 
for tarr in tests
println("MaxconcatingMax concatenating in $arr:\n -> ", tmaxconcat(arr))
end</lang>
println(" ", maxconcat(t))
</lang>
 
{{out}}
<pre>Max concatenating in [1, 34, 3, 98, 9, 76, 45, 4]:
<pre>
-> 998764543431
Maxconcating [1,34,3,98,9,76,45,4]
Max concatenating in [54, 546, 548, 60]:
998764543431
-> 6054854654
Maxconcating [54,546,548,60]
MaxconcatingMax concatenating in [1, 34, 3, 98, 9, 76, 45, 4, 54, 546, 548, 60]:
6054854654
-> 9987660548546544543431</pre>
Maxconcating [1,34,3,98,9,76,45,4,54,546,548,60]
9987660548546544543431
</pre>
 
=={{header|Kotlin}}==
Anonymous user