ฉันเป็นนักกอล์ฟหรือไม่?


18

ความหมายและกฎ

อาร์เรย์ golfyเป็นอาร์เรย์ของจำนวนเต็มซึ่งแต่ละองค์ประกอบสูงกว่าหรือเท่ากับค่าเฉลี่ยเลขคณิตขององค์ประกอบก่อนหน้านี้ทั้งหมด งานของคุณคือการตรวจสอบว่าอาร์เรย์ของจำนวนเต็มบวกที่กำหนดเป็นอินพุตมีค่าหรือไม่

  • คุณไม่จำเป็นต้องจัดการกับรายการที่ว่างเปล่า

  • ช่องโหว่เริ่มต้นใช้

  • มาตรฐานอินพุตและเอาต์พุตวิธีใช้

  • คุณสามารถเลือกสองค่าที่ไม่ว่างเปล่าที่แตกต่างกัน พวกเขาจะต้องสอดคล้องและต้องปฏิบัติตามกฎอื่น ๆ ทั้งหมด นี่คือรหัสที่สั้นที่สุดในแต่ละภาษาชนะ!

กรณีทดสอบ & ตัวอย่าง

ตัวอย่างเช่นอาร์เรย์ต่อไปนี้:

[1, 4, 3, 8, 6]

Array Array Array Array Array Array Arsenal Array Array Array Array Array Array for Array Of Array Array Arsenal Array Array Array Array Array Array Array Array for Array [1] เป็นอาเรย์ที่มีความเป็นกอล์ฟเพราะแต่ละเทอมนั้นสูงกว่าค่าเฉลี่ยเลขคณิตของคำที่อยู่ข้างหน้า มาทำงานกันทีละขั้นตอน:

หมายเลข -> องค์ประกอบก่อนหน้า -> ค่าเฉลี่ย -> ทำตามกฎหรือไม่

1 -> [] -> 0.0 -> 1 ≥ 0.0 (จริง)
4 -> [1] -> 1.0 -> 4 ≥ 1.0 (จริง)
3 -> [1, 4] -> 2.5 -> 3 ≥ 2.5 (จริง)
8 -> [1, 4, 3] -> 2. (6) -> 8 ≥ 2. (6) (จริง)
6 -> [1, 4, 3, 8] -> 4.0 -> 6 ≥ 4.0 (จริง)

องค์ประกอบทั้งหมดเป็นไปตามเงื่อนไขดังนั้นนี่จึงเป็นสนามกอล์ฟ โปรดทราบว่าสำหรับวัตถุประสงค์ของการท้าทายนี้เราจะสมมติว่าค่าเฉลี่ยของรายการที่ว่างเปล่า ( []) 0เป็น

กรณีทดสอบเพิ่มเติม:

อินพุต -> เอาท์พุท

[3] -> จริง
[2, 12] -> จริง
[1, 4, 3, 8, 6] -> จริง
[1, 2, 3, 4, 5] -> จริง
[6, 6, 6, 6, 6] -> จริง
[3, 2] -> เท็จ
[4, 5, 6, 4] -> เท็จ
[4, 2, 1, 5, 7] -> เท็จ
[45, 45, 46, 43] -> เท็จ
[32, 9, 15, 19, 10] -> เท็จ

ทราบว่านี้เป็นจิ๊กซอว์ 1จากCodeGolf-Hackathonและยังโพสต์ในความโกลาหลกอล์ฟ (ที่หนึ่งเสีย) - โพสต์ซ้ำโดยhistocratแต่ผมผู้เขียนต้นฉบับในเว็บไซต์ทั้งสองจึงได้รับอนุญาตให้ repost พวกเขาที่นี่


อินพุตเป็นรายการของจำนวนเต็มบวกเสมอหรือไม่
Kelly Lowder

@ KellyLowder ใช่
Mr. Xcoder

มันเป็นปัญหาที่สนุกฉันกำลังคิดที่จะโพสต์มันซ้ำอีกครั้งใน Anarchy Golf ด้วยกรณีทดสอบเพิ่มเติม แต่คิดว่าคุณน่าจะทำเช่นนั้น
ประวัติศาสตร์ 24

@histocrat ไปข้างหน้าและโพสต์มันอีกครั้งบน Anarchy Golf ฉันควรคิดเกี่ยวกับสิ่งต่าง ๆ ที่สามารถนำไปใช้ประโยชน์ได้ก่อน ฉันดีใจที่คุณเห็นว่ามันน่าสนใจ (Btw โปรด ping ฉันที่นี่และให้ลิงค์ถ้าคุณ repost มัน)
Mr. Xcoder

3
@streetster เหล่านั้นเทียบเท่า Sum / i> x เหมือนกับ Sum> xi เหมือนกับ Sum + x> x (i + 1) เหมือนกับ (Sum + x) / (i + 1)> x
ฮิสโทแก

คำตอบ:


13

Python 2 , 37 ไบต์

def g(a):sum(a)>len(a)*a.pop()or g(a)

ลองออนไลน์!

เอาท์พุทผ่านรหัสออก: เกิดปัญหา (รหัสทางออก 1) สำหรับอาร์เรย์ Golfy เพียงออกด้วยรหัสทางออก 0 สำหรับอาร์เรย์ที่ไม่ใช่กอล์ฟ ovs และ Jonathan Frech บันทึก 3 ไบต์

Python 2 , 44 ไบต์

f=lambda a:a and sum(a)<=len(a)*a.pop()*f(a)

ลองออนไลน์!

ความแตกต่างแบบดั้งเดิมมากขึ้นซึ่งผลตอบแทนTrueสำหรับอาร์เรย์ golfy Falseอื่น Jonathan Frech บันทึก 2 ไบต์


1
ผมคิดว่าอาจจะเป็นa==[]or a and
Jonathan Frech

2
มันฉลาดจริงๆ - มันออกมาsum(a)<=len(a)*a.pop()*[]สำหรับเคสฐานซึ่งเป็นจริงเสมอint < list!
ลินน์

3
39 ไบต์เป็นฟังก์ชันที่ขัดข้องสำหรับอินพุตที่แท้จริง
ovs

1
@ovs 37 ไบต์โดยใช้ฟังก์ชันที่จำเป็น
Jonathan Frech

11

เยลลี่ , 6 5 ไบต์

<ÆmƤE

ลองออนไลน์!

มันทำงานอย่างไร

<ÆmƤE  Main link. Argument: A (integer array)

 ÆmƤ   Compute the arithmetic means (Æm) of all prefixes (Ƥ) of A.
<      Perform element-wise comparison. Note that the leftmost comparison always
       yields 0, as n is equal to the arithmetic mean of [n].
    E  Test if all elements of the resulting array are equal, which is true if and
       only if all comparisons yielded 0.

6-byter ของ cairdcoinheringaahing (ทางเลือก):ÆmƤµ⁼Ṣ
Mr. Xcoder

@ Mr.Xcoder Golfed!
Dennis

ว้าวนั่นยอดเยี่ยม :-)
Mr. Xcoder

5

JavaScript (ES6), 33 32 ไบต์

a=>a.some(e=>e*++i<(s+=e),s=i=0)

[-3, -2]รหัสยังทำงานบนค่าลบเช่น ส่งกลับค่าfalseสำหรับสนามกอล์ฟtrueสำหรับอาร์เรย์อื่น ๆ แก้ไข: บันทึก 1 ไบต์ขอบคุณ @JustinMariner


1
คุณสามารถดรอปได้!เนื่องจากข้อมูลจำเพาะขอเพียงสองค่าที่แตกต่างกันดังนั้นกลับมาfalseเมื่ออาเรย์ของสนามกอล์ฟไม่เป็นไร
Justin Mariner


4

MATL , 9 8 ไบต์

tYstf/<a

เอาท์พุท0สำหรับอาร์เรย์กอล์ฟ1มิฉะนั้น

ลองออนไลน์!

คำอธิบาย

[1, 4, 3, 8, 6]พิจารณาการป้อนข้อมูล

t    % Implicit input. Duplicate
     % STACK: [1, 4, 3, 8, 6], [1, 4, 3, 8, 6]
Ys   % Cumulative sum
     % STACK: [1, 4, 3, 8, 6], [1, 5, 8, 16, 22]
t    % Duplicate
     % STACK: [1, 4, 3, 8, 6], [1, 5, 8, 16, 22], [1, 5, 8, 16, 22]
f    % Find: indices of nonzeros. Gives [1, 2, ..., n], where n is input size
     % STACK: [1, 4, 3, 8, 6], [1, 5, 8, 16, 22], [1, 2, 3, 4, 5]
/    % Divide, element-wise
     % STACK: [1, 4, 3, 8, 6], [1, 2.5, 2.6667, 4, 4.4]
<    % Less than?, element-wise
     % STACK: [0, 0, 0, 0, 0]
a    % Any: true if and only there is some nonzero. Implicit display
     % STACK: 0

4

Haskell , 53 50 48 ไบต์

and.(z(<=).scanl1(+)<*>z(*)[1..].tail)
z=zipWith

ลองออนไลน์!

แก้ไข: -3 ไบต์ขอบคุณ Zgarb!

คำอธิบาย

เวอร์ชั่นที่ไม่มีจุดข้างต้นเทียบเท่ากับโปรแกรมต่อไปนี้:

f s = and $ zipWith(<=) (scanl1(+)s) (zipWith(*)[1..](tail s))

ได้รับการป้อนข้อมูลs=[1,4,3,8,6], scanl1(+)sคำนวณผลรวมคำนำหน้า[1,5,8,16,22]และzipWith(*)[1..](tail s)ลดลงองค์ประกอบแรกและคูณองค์ประกอบอื่น ๆ [4,6,24,24]ทั้งหมดที่มีดัชนีของพวกเขา รายการอยู่ในขณะนี้golfyถ้าคู่เงินก้อนคำนำหน้ามีขนาดเล็กหรือเท่ากับดัชนีองค์ประกอบครั้งซึ่งสามารถตรวจสอบได้โดยซิปรายการทั้งที่มี(<=)และการตรวจสอบว่าผลทั้งหมดที่มีด้วยTrueand


1
คุณสามารถหลีกเลี่ยงข้อผิดพลาดชนิดเช่นนี้
Zgarb

@Zgarb ในการเข้าใจถึงปัญหาหลังนี้เป็นทางออกที่ชัดเจน ขอบคุณสำหรับการชี้!
Laikoni

3

C # (คอมไพเลอร์ Visual C #) , 71 + 18 = 89 ไบต์

x=>x.Select((n,i)=>new{n,i}).Skip(1).All(y=>x.Take(y.i).Average()<=y.n)

เพิ่มเติม 18 ไบต์ using System.Linq;

ลองออนไลน์!


2
ยินดีต้อนรับสู่เว็บไซต์! :)
DJMcMayhem

โดยทั่วไปแล้วคำสั่งนำเข้าจะไม่ถือว่าฟรีในโค้ดกอล์ฟ เนื่องจากสิ่งนี้ต้องการคำสั่งusing System.Linq;จริง ๆ แล้วจะเป็น 89 ไบต์บางครั้งแสดงเป็น "71 + 18 = 89" เพื่อแสดงว่าจำเป็นต้องมี 18 ไบต์ แต่ไม่ได้เป็นส่วนหนึ่งของการแก้ปัญหาในขณะที่ยังคงมีการนับครั้งสุดท้ายเป็นหมายเลขสุดท้ายในบรรทัดชื่อเรื่อง ซึ่งมีประโยชน์สำหรับตัวแยกวิเคราะห์อัตโนมัติบางรายการ)
Kamil Drakari

3

APL (Dyalog)ขนาด 10 ไบต์

นี่คือฟังก์ชั่นนำหน้าโดยปริยายโดยไม่ระบุชื่อ (เรียกว่า monadic train ในเงื่อนไข APL)

∧/⊢≥+⍳∘≢

ลองกรณีทดสอบทั้งหมดใน TIO!

ใช่ไหม

∧/ จริงทั้งหมดที่

 องค์ประกอบ

 มากกว่าหรือเท่ากับ

+\ จำนวนเงินสะสม

÷ หารด้วย

   จำนวนเต็ม 1 ถึง

   the

   จำนวนองค์ประกอบ

?


APL มีสัญลักษณ์สำหรับ "the" หรือไม่?
user2390246

1
@ user2390246 จับสิ่งต่าง ๆ เข้าด้วยกันในลักษณะเดียวกันกับ "การผูกเข้าด้วยกันใน" count the cats " มันถูกเรียกว่าจริงๆเขียน
อดัม

3

C (gcc) , 62 60 62 ไบต์

  • ลบวงเล็บสองฟุ่มเฟือยออก
  • เพิ่มสองไบต์เพื่อแก้ไขความสามารถในการนำกลับมาใช้ใหม่ของฟังก์ชัน ( b=)
f(A,S,k,b)int*A;{for(S=k=b=0;*A;S+=*A++)b+=!(S<=*A*k++);b=!b;}

ลองออนไลน์!


3

05AB1E , 5 ไบต์

ηÅA÷W

ลองออนไลน์!

ความช่วยเหลืออย่างกว้างขวางจาก Dennis และ Adnan มาถึงเวอร์ชั่นที่ลดลงนี้ อีกทั้งข้อผิดพลาดได้รับการแก้ไขเพื่อให้เป็นไปได้ขอขอบคุณพวกคุณอีกครั้ง ฉันใช้เครดิตเล็กน้อยสำหรับคำตอบนี้


05AB1E , 10 ไบต์

ηεÅA}ü.S_P

ลองออนไลน์!


นานเพราะDgsO/มีค่าเท่ากับ "mean" ใน 05AB1E

เห็นได้ชัดว่าÅAเป็นค่าเฉลี่ยเลขคณิต


ในการคำนวณค่าเฉลี่ยฉันจะใช้+\÷J(หารผลรวมสะสมด้วยดัชนี) ในเยลลี่ ใน 05AB1E นั้นไม่ง่ายใช่ไหม? แก้ไข:ไม่เป็นไร
Dennis

@Dennis ah, ผลรวมสะสมใน 05AB1E ü+นั้นจริง ๆ แล้วไม่มี divie โดยดัชนีนอกเหนือจากgการรับความยาวของอาร์เรย์Lเพื่อผลัก1,2,...,nและหารเพื่อหาค่าเฉลี่ยซึ่งยังคงเป็น 5 ไบต์
Magic Octopus Urn

.S_เป็นทางยาวไป<=ถ้าใครมีความคิดใด ๆ lmk
Magic Octopus Urn

จะ÷Wทำงานแทนü.S_Pหรือไม่
Dennis

1
โอ้ @Adnan เพิ่งแก้ไข vectorization ของÅAดังนั้นηÅA÷Wตอนนี้ทำงาน
Dennis


2

PowerShellขนาด 60 ไบต์

param($a)$o=1;$a|%{$o*=$_-ge($a[0..$i++]-join'+'|iex)/$i};$o

ลองออนไลน์!

จะเข้าเป็น array ตัวอักษร (เช่น@(1, 4, 3, 8, 6)) $aลง ชุดของเรา$oตัวแปร utput 1จะเป็น จากนั้นวน$aซ้ำ การทำซ้ำแต่ละครั้งเรา (ab) ใช้*=การส่งแบบ$oเจาะจงของ PowerShell กับผลลัพธ์ของการเปรียบเทียบแบบบูลกับutput ของเรา บูลีนคือค่าปัจจุบัน$_นั้นมีค่า-gมากกว่าeเงื่อนไขที่$a[0..$i++]เพิ่มเข้าด้วยกัน ( -join'+'|iex) หารด้วยจำนวนเทอมที่เราได้เห็นไปแล้ว$iหรือไม่ ดังนั้นหากขั้นตอนใด ๆ เป็นเท็จ$o0จะได้รับการคูณด้วย มิฉะนั้นจะคงอยู่1ตลอด

จากนั้นเราก็วาง$oลงบนไปป์ไลน์และเอาท์พุทเป็นนัย 1สำหรับความจริงและ0เพื่อความเท็จ



2

C # (. NET Core) 74 ไบต์

x=>{for(int i=1,s=0;i<x.Count;)if(x[i]<(s+=x[i-1])/i++)return 0;return 1;}

ลองออนไลน์!

ส่งคืน 0 สำหรับเท็จและ 1 สำหรับจริง

3 ไบต์นานกว่าหลักของchryslovelaces คำตอบ แต่ในจำนวนไบต์ทั้งหมดสั้นลงเพราะตัวแปรของฉันไม่ต้องการusingข้อความใด ๆ


2

Cubix , 35 ไบต์

/I?/\+psu0^.\)*sqs;-\;;U;O1.....?@^

ลองออนไลน์!

ไม่ใช่การใช้พื้นที่อย่างมีประสิทธิภาพที่สุด (6 no-ops ในรหัส) ไม่สร้างเอาต์พุตสำหรับอาร์เรย์ golfy 1สำหรับอาร์เรย์ที่ไม่ใช่สนามกอล์ฟ

ขยายเป็นคิวบ์ต่อไปนี้:

      / I ?
      / \ +
      p s u
0 ^ . \ ) * s q s ; - \
; ; U ; O 1 . . . . . ?
@ ^ . . . . . . . . . .
      . . .
      . . .
      . . .

คำอธิบายเตรียมพร้อม แต่มันเป็นพื้นพอร์ตบางอย่างเช่นหลุยส์ Mendo ของคำตอบ MATLหรือเดนนิสคำตอบของจูเลีย

ดูมันทำงาน!


2

Matlab และ Octave ขนาด41 36 ไบต์

5 ไบต์บันทึกขอบคุณไปที่ Luis Mendo

all([a inf]>=[0 cumsum(a)./find(a)])

ลองออนไลน์!


@LuisMendo นั่นจะทำลายได้ถ้าองค์ประกอบใด ๆaเป็นศูนย์ แต่นั่นเป็นกลอุบายที่มีประโยชน์อย่างไรก็ตามในสถานการณ์ที่คล้ายกันต้องจำไว้ในใจ
Leander Moesinger

การอ่านเป็นเรื่องยาก! ขอบคุณ!
Leander Moesinger

เกิดขึ้นกับฉันตลอดเวลา :-)
Luis Mendo

2

SQL (MySQL), 68 ไบต์

select min(n>=(select ifnull(avg(n),1)from t s where s.i<t.i))from t

ลองออนไลน์!

ส่งคืน1สำหรับอาร์เรย์ที่มีค่า Golfy และ0 เป็นอย่างอื่น รับอินพุตจากตารางที่ระบุชื่อ , t. เพื่อสร้างtรัน:

CREATE TABLE t(i SERIAL,n INT)

และเพื่อโหลดค่า:

truncate table t;insert into t(n)values(3),(2);


1

Python 2 , 52 ไบต์

lambda A:all(k*j>=sum(A[:j])for j,k in enumerate(A))

ลองออนไลน์!

Python 2 , 50 48 44 42 ไบต์

  • ที่บันทึกไว้ไบต์ที่สองโดย inlining andและการใช้
  • บันทึกสองไบต์ต้องขอบคุณMr. XcoderโดยการกำหนดS=k=0สายงาน
  • บันทึกสองไบต์โดยใช้orและค่าบูลีนของการเปรียบเทียบเป็นค่าที่kเพิ่มขึ้น
  • บันทึกสองไบต์ด้วยovs ; ยกโดยใช้ตัวแปรที่ไม่ได้กำหนดแทนNameErrorZeroDivisionError
S=k=0
for j in input():k+=S<=j*k or J;S+=j

ลองออนไลน์!


46 ไบต์สำหรับรุ่นทางเลือกของคุณ
Mr. Xcoder

@ Mr.Xcoder ขอบคุณ
Jonathan Frech


@ovs ขอบคุณ; วิธีหนึ่งไบต์ที่เรียบร้อยเพื่อเพิ่มข้อยกเว้น
Jonathan Frech

1

q / kdb + , 14 ไบต์

วิธีการแก้:

min x>=avgs x:

ตัวอย่าง:

q)min x>=avgs x:1 4 3 8 6
1b                           / truthy
q)min x>=avgs x:4 2 1 5 7
0b                           / falsey

คำอธิบาย:

ค่อนข้างง่ายด้วยavgsตัวใน:

min x>=avgs x: / solution
            x: / store input in variable x
       avgs    / calculate running averages
    x>=        / array comparison, x greater than running average
min            / take minimum of list of booleans


1

R , 38 34 ไบต์

function(x)any(cumsum(x)/seq(x)>x)

ลองออนไลน์!


ดีมาก. Dunno ทำไมไม่มีคำตอบ R มาก่อน ...
Giuseppe

คุณทุกคนประหยัดได้ง่ายสำหรับฉัน
ngm

แทนที่จะกำหนดyในอาร์กิวเมนต์ของฟังก์ชันการใช้cumsum(x)โดยตรงจะสั้นกว่า 4 ไบต์ มันเป็นความอัปยศที่cummeanไม่มีอยู่ในฐานอาร์
จูเซปเป้

1

เพิ่ม ++ , 54 ไบต์

D,g,@@#,BFB
D,k,@,¦+AbL/
D,f,@,dbLR$€g€k0b]$+ABcB]£>ª!

ลองออนไลน์!

รุ่นดั้งเดิม 30 ไบต์

D,f,@,¬+AbLRBcB/@0@B]ABcB]£>ª!

ลองออนไลน์!

ทั้งการส่งออก1สำหรับอาร์เรย์ golfy และ0มิฉะนั้น

พวกเขาทำงานอย่างไร

ฉันสร้างเวอร์ชันแรกโดยไม่ตรวจสอบโซลูชันอื่นใด ข้อที่สองได้รับแรงบันดาลใจจากความคิดเห็นของเดนนิสดังนั้นฉันจึงมีความสุขน้อยลง

รุ่นแรก

AAB=[1,...|A|]|A|AdbLR$[B,A]ก.ABBก.ก.

D,g,@@#,BFB

2#BFAex[...A,e]...BeA

gkgk2{...}IKUYZgkluw

gxAkk

D,k,@,¦+AbL/

¦+AbL/C

CA00[0]C0b]$C+

AAABcB]BczipC+

พีA,Q+;พี<Q¬(พีQ)พี,Q010ª!

รุ่นที่สอง

24A¬+[A0,A0+A1,A0+A1+A2,...,A0+...+Aผม]JB=[1...|A|]|A|

ABBcB/0@0@B]+

+=[0,A0,A0+A12,A0+A1+A23,...,A0+...+Aผมผม+1]

A+


0

Pyth , 11 10 ไบต์

-1 ไบต์ขอบคุณ Mr. Xcoder

.A.egb.O<Q

ลองออนไลน์!


7 ไบต์: SI.OM._(พอร์ตของโซลูชัน cairdcoinheringaahing จาก Jelly, โดย Erik the Outgolfer) หรือ 10 ไบต์โดยใช้วิธีการของคุณ:.A.egb.O<Q
Mr. Xcoder

โพสต์พอร์ตด้วยตัวคุณเองมันเป็นแนวทางที่แตกต่างอย่างสิ้นเชิง!
เดฟ

0

Java (OpenJDK 8) , 96 ไบต์

ฉันรู้ว่ามันไม่ใช่ภาษากอล์ฟที่ดี แต่ฉันก็ยังไปได้!

อินพุตอาร์เรย์เป็นอาร์กิวเมนต์แรกของเครื่องหมายจุลภาคคั่น ints เพื่อทดสอบ

ส่งคืน 1 สำหรับจริง, 0 สำหรับเท็จ

a->{int i=1,j,r=1,s=0;for(;i<a.length;i++,s=0){for(j=0;j<i;s+=a[j++]);r=s/i>a[i]?0:r;}return r;}

ลองออนไลน์!


0

Java 7, 100 ไบต์

แข็งแรงเล่นกอล์ฟ:

int g(int[]a){int i=1,m=0,s=m,r=1;for(;i<a.length;){s+=a[i-1];m=s/i;r-=a[i++]<m&&r>0?1:0;}return r;}

Ungolfed:

int golfy(int[]a)
{
    int i = 1, m = 0, s = m, r = 1;
    for (; i < a.length;)
    {
        s += a[i-1];
        m = s / i;
        r -= a[i++] < m && r>0? 1 : 0;
    }
    return r;
}

ลองออนไลน์

ส่งคืนค่า 0 สำหรับ ungolfy และ 1 สำหรับอาร์เรย์ golfy ยาวกว่า java 8 เล็กน้อยเล็กน้อย


0

PHP, 44 ไบต์

while($n=$argv[++$i])$n<($s+=$n)/$i&&die(1);

รับอินพุตจากอาร์กิวเมนต์บรรทัดรับคำสั่งออกด้วย0(ok) สำหรับ array golfy และ1อื่น ๆ

ทำงานด้วย-nrหรือลองออนไลน์


0

J, 19 ไบต์

[:*/[>:[:}:0,+/\%#\

+/\ % #\ค่าเฉลี่ยของคำนำหน้า: #\สร้าง 1..n

}:0, เพิ่ม 0 ถึงจุดเริ่มต้นและลบครั้งสุดท้าย

[>: องค์ประกอบรายการดั้งเดิมตามองค์ประกอบ> = ไปยังรายการค่าเฉลี่ยที่เลื่อนหรือไม่

*/มีทั้งหมดมากขึ้นองค์ประกอบเช่นรายการก่อนหน้านี้คือทั้งหมด1หรือไม่?

ลองออนไลน์!



0

Japt , 10 ไบต์

มากับสองโซลูชั่น 10 ไบต์ดูเหมือนจะไม่สามารถปรับปรุงได้

eȨU¯Y x÷Y

ลองมัน


คำอธิบาย

               :Implicit input of array U
eÈ             :Is every element, at 0-based index Y
  ¨            :Greater than or equal to
   U¯Y         :U sliced from index 0 to index Y
        ÷Y     :Divide each element by Y
       x       :Reduce by addition

ทางเลือก

eÈ*°Y¨(T±X

ลองมัน

               :Implicit input of array U
eÈ             :Is every element X (at 0-based index Y)
  *°Y          :Multiplied by Y incremented by 1
     ¨         :Greater than or equal to
      (T±X     :T (initially 0) incremented by X
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.