Re: question in mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg80143] Re: question in mathematica
- From: m.r at inbox.ru
- Date: Mon, 13 Aug 2007 04:42:06 -0400 (EDT)
- References: <fa11b990e477.46baf2d3@bgu.ac.il>
On Aug 11, 1:43 am, Andrzej Kozlowski <a... at mimuw.edu.pl> wrote: > First, please send such question to the MathGroup, > > mathgr... at smc.vnet.net > > not me personally. (I really have desire, tiem or ability to replace > the enitre MathGroup.) > So I have decided to post this question to the MathGroup in case > someone else finds it interesting. > > Also, there is something about this question and the earlier you sent > me that make sme suspicious. What do you say "you need to use > recursion and pattern matching, Select and Join"? This sounds to me > like some sort of test problem so I have decided to answer it but > without using any of these functions (although it may not be the > simplest way to do this). So here is my answer: > > ls = {9, 2, 10, 3, 14, 9}; > > Reverse[Last[Last[Reap[NestWhile[With[{a = First[Ordering[#, -1]]}, > Sow[#[[a]]]; Take[#, a - 1]] &,ls,Length[#] > 0 &]]]]] > > {9, 10, 14} > > On 10 Aug 2007, at 10:12, Ivan Egorov wrote: > > > I have one more question. > > > Write a function maxima[lis_List] which, given a list of numbers, > > produces a list of those > > > numbers greater than all those that precede them. For example > > > maxima[{ 9, 2, 10, 3, 14, 9}] returns { 9, 10, 14}. You need to use > > recursion, pattern matching, > > > Select and Join. > > > =E2=80=8E I'll make it easier for myself and use pattern matching: In[1]:= ReplaceList[{9, 2, 10, 3, 14, 9}, {s___, x_, ___} /; Max[s] < x :> x] Out[1]= {9, 10, 14} Maxim Rytin m.r at inbox.ru
- Follow-Ups:
- Re: Re: question in mathematica
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- RE: Re: question in mathematica
- From: "Harvey P. Dale" <hpd1@nyu.edu>
- Re: Re: question in mathematica