Anonymous user
Longest increasing subsequence: Difference between revisions
m
→{{header|Erlang}}
Line 983:
SS == lists:sort(SS)]
).
% **************************************************▼
% Copied from http://stackoverflow.com/a/4762387/4162959▼
% **************************************************▼
maxBy(F, L) -> ▼
element(▼
2, ▼
lists:max([ {F(X), X} || X <- L])▼
).▼
% **************************************************▼
% Copied from https://panduwana.wordpress.com/2010/04/21/combination-in-erlang/▼
% **************************************************▼
combos(L) ->▼
lists:foldl(▼
fun(K, Acc) -> Acc++(combos(K, L)) end,▼
[[]],▼
lists:seq(1, length(L))▼
).▼
combos(1, L) -> ▼
[[X] || X <- L];▼
combos(K, L) when K == length(L) -> ▼
[L];▼
combos(K, [H|T]) ->▼
[[H | Subcombos] ▼
|| Subcombos <- combos(K-1, T)]▼
++ (combos(K, T)).▼
% **************************************************
Line 1,058 ⟶ 1,088:
% **************************************************
▲% **************************************************
▲% Copied from http://stackoverflow.com/a/4762387/4162959
▲% **************************************************
▲maxBy(F, L) ->
▲ element(
▲ 2,
▲ lists:max([ {F(X), X} || X <- L])
▲ ).
▲% **************************************************
▲% **************************************************
▲% Copied from https://panduwana.wordpress.com/2010/04/21/combination-in-erlang/
▲combos(L) ->
▲ lists:foldl(
▲ fun(K, Acc) -> Acc++(combos(K, L)) end,
▲ [[]],
▲ lists:seq(1, length(L))
▲ ).
▲combos(1, L) ->
▲ [[X] || X <- L];
▲combos(K, L) when K == length(L) ->
▲ [L];
▲combos(K, [H|T]) ->
▲ [[H | Subcombos]
▲ || Subcombos <- combos(K-1, T)]
▲ ++ (combos(K, T)).
% **************************************************
|