给定一个prolog列表,我想创建第二个包含逐渐变大的元素.例如,
L = [ 1, 5, 2, 3, 4, 10, 15, 11, 12, 13, 20 ]
Answer = [ 1, 5, 10, 15, 20 ]
Run Code Online (Sandbox Code Playgroud)
我的代码:
local_max([],_,_).
local_max([XH|XT],Y,temp) :-
( XH =< temp ->
local_max(XT,Y,temp)
;
local_max(XT,[XH|Y],XH)
).
Run Code Online (Sandbox Code Playgroud)
我认为这应该让我的回答简单地逆转,但事实并非如此.只是假的.
该列表只包含正整数,所以我只是这样做了
local_max([ 1, 5, 2, 3, 4, 10, 15, 11, 12, 13, 20 ],Answer,0).
Run Code Online (Sandbox Code Playgroud)