มีการกระแทกหรือไม่


39

รับรายการจำนวนเต็มบวกกำหนดว่ามีองค์ประกอบที่มากกว่าสองเพื่อนบ้านหรือน้อยกว่าสองเพื่อนบ้าน ("ชน") เพื่อให้ชัดเจนชนไม่สามารถเป็นรายการแรกหรือสุดท้ายของรายการเพราะพวกเขามีเพื่อนบ้านเพียงคนเดียว

โปรแกรมของคุณควรส่งออกหนึ่งในสองค่าที่สอดคล้องกันแต่ละรายการที่สอดคล้องกับรายการที่ไม่มีการกระแทกหรือรายการที่มีการกระแทก คุณค่าที่ไม่สำคัญคุณสามารถเลือกได้เอง

นี่คือดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่าจะดีกว่า

กรณีทดสอบ

[] -> False
[1] -> False
[1,2] -> False
[1,2,1] -> True
[1,2,2] -> False
[1,2,3] -> False
[1,2,2,1] -> False
[1,2,2,3] -> False
[1,2,1,2] -> True
[1,3,2] -> True
[3,1,2] -> True
[2,2,2] -> False

5
คำขอทดสอบกรณี: หมายเลขอื่นที่ไม่ใช่ 0-1-2-3 อนุญาตให้ใช้หรือปฏิเสธได้เช่นกัน
Magic Octopus Urn

กรณีทดสอบที่แนะนำ: [1,3,3](ให้แน่ใจว่าคำตอบที่ใช้อัลกอริธึมของ Dennis รับสัญญาณของการเพิ่มขึ้นไม่ใช่แค่ใช้การเพิ่มขึ้นเอง)
ETHproductions

1
@ETHproductions นั่นไม่ได้ครอบคลุมอยู่แล้ว[1,2,2]? หรือว่าฉันขาดอะไรไป?
Nic Hartley

2
@NicHartley สันดอนของ[1,2,2]เป็นเช่นเดียวกับสัญญาณของสันดอนเหล่านั้น [1,3,3]แต่นั่นไม่ใช่กรณีที่มี
ขนปุย

คำตอบ:


15

เยลลี่ 5 ไบต์

IṠIỊẠ

ส่งคืน0ถ้ามีการชน1ถ้าไม่

ลองออนไลน์!

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

IṠIỊẠ  Main link. Argument: A (integer array)

I      Increments; take all forward differences of A.
 Ṡ     Take the signs.
       The signs indicate whether the array is increasing (1), decreasing (-1), or
       constant at the corresponding point. A 1 followed by a -1 indicates a local
       maximum, a -1 followed by a 1 a local minimum.
  I    Increments; take the forward differences again.
       Note that 1 - (-1) = 2 and (-1) - 1 = -2. All other seven combinations of
       signs map to -1, 0, or 1.
   Ị   Insignificant; map each difference d to (-1 ≤ d ≤ 1).
    Ạ  All; return 1 if all differences are insignificant, 0 if not.

1
"เพิ่มขึ้นคืออะไร" สิ่งที่เพิ่มขึ้นและสิ่งที่จะทำอย่างไร
ข้าวสาลีตัวช่วยสร้าง

1
@WheatWizard ฉันคิดว่านี่เทียบเท่ากับคำสั่ง deltas (¥) ของ 05AB1E: อาร์เรย์ [n0, n1, n2, n3] ถูกป๊อปอัปและอาร์เรย์ [n1-n0, n2-n1, n3-n2]
Kaldo

10

JavaScript (ES6), 38 ไบต์

ส่งคืนบูลีน

a=>a.some(x=n=>x*(x=a<n|-(a>(a=n)))<0)

กรณีทดสอบ

อย่างไร?

เราใช้ในการจัดเก็บค่าก่อนหน้านี้ของn เราตั้งxไป1ถ้าค่า <n , -1ถ้าA> nหรือ0ถ้าA = n และเราทดสอบว่าold_x * x <0ซึ่งเป็นไปได้ก็ต่อเมื่อ ( old_x = 1และx = -1 ) หรือ ( old_x = -1และx = 1 )

เนื่องจากxถูกกำหนดค่าเริ่มต้นให้กับฟังก์ชั่นการโทรกลับแบบไม่ระบุชื่อของบางคน ()จึงถูกบังคับให้NaNระหว่างการทำซ้ำครั้งแรกซึ่งทำให้การทดสอบเป็นเท็จ


สิ่งนี้จะเข้าสู่โหมดเข้มงวด
Aluan Haddad

2
@AluanHaddad เอาล่ะ 99% ของรหัส JS golfed จะเข้าสู่โหมดเข้มงวดเพราะตัวแปรที่ไม่ได้ประกาศ PPCG และ codereview ไม่เข้ากัน : P
Arnauld

มันยุติธรรมฉันไม่ได้เล่นกอล์ฟมากนัก
Aluan Haddad

4
เหตุใดจึงให้ความเห็นเกี่ยวกับมัน lol
Mark C.

8

Haskell , 42 ไบต์

any(<0).f(*).f(-)
f a b=zipWith a b$tail b

ลองออนไลน์!

คำอธิบาย

ก่อนอื่นเรามีฟังก์ชั่นfที่รับฟังก์ชั่นไบนารี่และรายการและใช้ฟังก์ชั่นไบนารี่กับทุกคู่ที่อยู่ติดกันในรายการ

จากนั้นฟังก์ชั่นหลักของเรานำf(-)ไปใช้กับรายการอินพุต สิ่งนี้คำนวณรายการผลต่าง จากนั้นเรานำf(*)ไปใช้กับรายการที่จะคูณทุกคู่ที่อยู่ติดกัน สุดท้ายเราถามว่าคู่ใดมีค่าน้อยกว่าศูนย์

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


เป็นวิธีที่ดีในการจัดการกับรายการที่ว่างเปล่า!
Laikoni


5

ระดับเสียงคู่กันด้วยแพ็คเกจภาพ34 32 ไบต์

บันทึก 2 ไบต์ด้วย@StewieGriffin !

@(x)0||prod(im2col(diff(x),2))<0

ลองออนไลน์!

คำอธิบาย

คำนวณความแตกต่างอย่างต่อเนื่องจัดเรียงไว้ในบล็อกแบบเลื่อนที่มีความยาว 2 ได้รับผลิตภัณฑ์ของแต่ละบล็อกและทดสอบว่าผลิตภัณฑ์ใดเป็นลบ


0||prod(...)บันทึก 2 ไบต์ นอกจากนี้คุณยังสามารถข้ามทั้งanyส่วนหนึ่งและใช้ truthy ค่าเริ่มต้น / นิยาม falsy เพื่อประหยัด 5 ไบต์
Stewie Griffin

Darn การประหยัด 5 ไบต์จะทำให้โซลูชันของคุณสั้นกว่าของฉัน :( ใช้แพ็คเกจภาพได้ดีฉันไม่รู้ว่ามันใช้ TIO อยู่หรือไม่
Stewie Griffin

1
@StewieGriffin เนื่องจากความท้าทายต้องใช้ค่าที่สอดคล้องกันสองค่าที่ฉันไม่สามารถลบanyได้ ขอบคุณสำหรับ0||ความคิด!
Luis Mendo

4

R, 48 ไบต์

function(x)any(apply(embed(diff(x),2),1,prod)<0)

ลองออนไลน์!

วิธีการทำงานทีละขั้นตอนโดยใช้ c (1,4,1,4) เป็นตัวอย่าง:

> x=c(1,4,1,4)
> diff(x)
[1]  3 -3  3
> embed(diff(x),2)
     [,1] [,2]
[1,]   -3    3
[2,]    3   -3
> apply(embed(diff(x),2),1,prod)
[1] -9 -9
> any(apply(embed(diff(x),2),1,prod)<0)
[1] TRUE

เป็นโบนัสนี่คือวิธีแก้ปัญหาของความยาวและแนวคิดที่คล้ายกันโดยใช้แพ็คเกจzoo:

function(x)any(zoo::rollapply(diff(x),2,prod)<0)

1
เรียบร้อย! หมายเหตุถึงตนเอง: จำได้embedแล้ว มันเลวร้ายเกินไปที่rowProdsและcolProdsไม่อยู่ในฐานะนามแฝงในอาร์
จูเซปเป้

1
@Giuseppe ออกจากความสิ้นคิดจริงผมตรวจสอบว่าพวกเขามีอยู่ :) แต่แน่นอนเพียงrowSumsและrowMeans...
plannapus

1
อย่างน้อยก็มองผ่านเอกสาร.colSumsจะเปลี่ยนรูปร่างของอินพุตเป็นเมทริกซ์ตามอินพุตเพิ่มเติมซึ่งอาจมีแอปพลิเคชันตีกอล์ฟที่ไหนสักแห่ง .... ตอนนี้ฉันแค่ต้องหา!
จูเซปเป้

@Guiseppe: ดูฟังก์ชั่นในmatrixStatsแพ็คเกจ
Michael M

@MichaelM แต่น่าเสียดายเพราะความยาวของชื่อแพคเกจมันไม่ได้ทำให้การแข่งขัน (57 ไบต์: function(x)any(matrixStats::colProds(embed(diff(x),2)))<0) แต่สำหรับสิ่งอื่นที่ไม่ใช่โค้ดกอล์ฟแพ็คเกจนี้เป็นขุมทรัพย์แน่นอน
plannapus


3

Perl 6 , 39 ไบต์

{so~(.[1..*]Zcmp$_)~~/'re L'|'s M'/}

ลองออนไลน์!

$_เป็นอาร์กิวเมนต์รายการฟังก์ชั่นที่ไม่ระบุชื่อนี้ .[1..*]เป็นรายการเดียวกัน แต่ด้วยองค์ประกอบแรกที่ลดลง Zcmpรหัสไปรษณีย์ทั้งสองรายการพร้อมกับcmpผู้ประกอบการส่งผลให้รายการOrderค่า ตัวอย่างเช่นสำหรับการป้อนข้อมูลรายการนี้จะส่งผลให้ในรายการ1, 2, 2, 2, 1More, Same, Same, Less

ตอนนี้เราก็ต้องทราบว่ารายการที่มีสององค์ประกอบที่อยู่ติดกันหรือMore, Less Less, Moreเคล็ดลับที่ผมใช้คือการแปลงรายการเพื่อสตริงคั่นด้วยช่องว่างด้วย~แล้วทดสอบว่ามันมี substring อย่างใดอย่างหนึ่งหรือre L s M(อันแรกไม่สามารถทำได้เพียงe LเพราะSameลงท้ายด้วย "e")

ตัวดำเนินการจับคู่แบบสมาร์ทส่งคืนMatchออบเจ็กต์ (หากการจับคู่สำเร็จ) หรือNil(หากไม่ตรงกัน) ดังนั้นsoแปลงสิ่งที่มันให้เป็นค่าบูลีน



3

Ruby , 55 46 ไบต์

->a{a.each_cons(3).any?{|x,y,z|(y-x)*(y-z)>0}}

ลองออนไลน์!

แลมบ์ดายอมรับอาร์เรย์และส่งคืนบูลีน

-9 ไบต์: แทนที่(x<y&&y>z)||(x>y&&y<z)ด้วย(y-x)*(y-z)>0(ขอบคุณGolfWolf )

->a{
  a.each_cons(3)              # Take each consecutive triplet
    .any?{ |x,y,z|            # Destructure to x, y, z
      (y-x)*(y-z) > 0         # Check if y is a bump
    }
}

1
ฉันคิดว่าคุณสามารถใช้|แทน||ช่วยให้คุณประหยัด 1 ไบต์
Yytsi


บันทึก 1 ไบต์ด้วย '0 <(yx) * y- = z'
GB

3

PostgreSQL 173 ไบต์

SELECT DISTINCT ON(a)a,x>j and x>k OR x<least(j,k)FROM(SELECT a,x,lag(x,1,x)OVER(w)j,lead(x,1,x)OVER(w)k FROM d WINDOW w AS(PARTITION BY rn ORDER BY xn))d ORDER BY 1,2 DESC;
     a     | c 
-----------+---
 {1}       | f
 {1,2}     | f
 {1,2,1}   | t
 {1,2,1,2} | t
 {1,2,2}   | f
 {1,2,2,1} | f
 {1,2,2,3} | f
 {1,2,3}   | f
 {1,3,2}   | t
 {2,2,2}   | f
 {3,1,2}   | t
(11 rows)

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

@WheatWizard เป็นข้อมูลตัวอย่างลงในฐานข้อมูลไม่เกี่ยวข้อง
Evan Carroll

รหัสของคุณคืออะไร เราไม่อนุญาตให้ใส่ข้อมูลลงในรหัสโดยตรงแทนที่จะป้อนข้อมูล หากเป็นกรณีที่นี่คุณควรที่จะเขียนมันเพื่อให้มันใช้เวลาการป้อนข้อมูลผ่านทางวิธีการมาตรฐาน
ข้าวสาลีตัวช่วยสร้าง

@WheatWizard จากลิงก์ที่คุณให้ไว้codegolf.meta.stackexchange.com/a/5341/23085
Evan Carroll

1
ตกลงถ้าเป็นรูปแบบอินพุตที่คุณใช้อยู่ก็ไม่เป็นไร ขอให้โชคดีในการเล่นกอล์ฟที่นี่การได้เห็นผู้คนเล่นกอล์ฟด้วยภาษาที่ใช้กันน้อย
ข้าวสาลีตัวช่วยสร้าง

3

Java 8, 108 104 101 86 84 79 72 ไบต์

a->{int i=a.length,p=0;for(;i-->1;)i|=p*(p=a[i]-a[i-1])>>-1;return-i>1;}

-2 ไบต์ขอบคุณที่@ OlivierGrégoire
-13 ไบต์ขอบคุณที่@Nevay

ลองออนไลน์


1
84 ไบต์ ผมเปลี่ยนการสั่งซื้อซ้ำ (จะลง) -1สลับสองคูณถูกดำเนินการแล้วสามารถลบฟุ่มเฟือย
Olivier Grégoire

1
79 ไบต์: a->{int i=a.length;for(;i-->2;)i|=(a[i]-a[--i])*(a[i]-a[i-1])>>-1;return-~i|3;}(ส่งคืน-1สำหรับกรณีความจริง3สำหรับกรณีเท็จ) - หรือหากใช้สถานะ / ไม่มีข้อยกเว้นเป็นค่าส่งคืน 55 ไบต์:a->{for(int i=0;++i>0;)i|=(a[i-1]-a[i])*(a[i]-a[i+1]);}
Nevay

1
72 bytes:a->{int i=a.length,p=0;for(;i-->1;)i|=p*(p=a[i]-a[i-1])>>-1;return-i>1;}
Nevay

3

R , 58 56 ไบต์

function(x)any(abs(diff(sign(diff(c(NA,x)))))>1,na.rm=T)

ลองออนไลน์!

บันทึก 2 ไบต์ขอบคุณ Giuseppe


3
คุณสามารถกำจัดเครื่องหมายปีกกา{}สำหรับ -2 ไบต์
Giuseppe

นอกจากนี้ฉันคิดว่าคุณสามารถเปลี่ยนวิธีการของ Stewie Griffin เป็น42 bytes ได้
Giuseppe

@iuseppe ฉันคิดว่า Stewie รังเพลิงวิธีการของฉันด้วยความแตกต่างที่ฉันสามารถจัดการเวกเตอร์เปล่าตามที่ระบุไว้ในกรณีทดสอบ Matlab มีความผ่อนปรนน้อยกว่าเมื่อเทียบกับเวกเตอร์เปล่าเมื่อเทียบกับ R.
NofP

c()เป็นNULLที่ไม่ได้เช่นเดียวกับเวกเตอร์ว่างของจำนวนเต็มinteger(0)ในขณะที่ใน MATLAB []เป็นdoubleไปโดยปริยาย แต่ถ้าคุณต้องการที่จะให้มันเป็นแบบนี้ที่สมบูรณ์เหมาะสม
Giuseppe

3

J , 16 15 ไบต์

-1 ไบต์ขอบคุณ FrownyFrog

1 e.0>2*/\2-/\]

ลองออนไลน์!

ต้นฉบับ: 16 ไบต์

0>[:<./2*/\2-/\]

2-/\] - ความแตกต่างของแต่ละรายการที่อยู่ติดกัน

2*/\ - ผลิตภัณฑ์ของแต่ละรายการที่อยู่ติดกัน

[:<./ - ขั้นต่ำ

0> - เป็นลบไหม

ลองออนไลน์!


สวัสดี ! นี่ไม่สามารถย่อให้อยู่ในรูปแบบที่ชัดเจนได้ง่ายกว่านี้ 0> <./ 2 * / \ 2 - / \ (13 ไบต์)?
งัด Dolidon

@Mathias Dolidon สิ่งนี้ใช้ได้กับ interpreter แต่ที่นี่ใน PPCG เป็นเรื่องปกติที่จะมีฟังก์ชั่น (J verb) ถ้ามี input อยู่บ้าง หากคำกริยาเป็นนัยโดยปริยายเราจะไม่นับจำนวนf=.ไบต์ที่ได้รับมอบหมาย กรุณามีความในใจว่าผมใช้ค่อนข้างใหม่ :)
เลน Ivanov

ดังนั้นฉันและคุณได้ชี้แจงกฎสำหรับฉัน ขอบคุณมาก! :)
Mathias Dolidon

1
1 e.0>2*/\2-/\]
FrownyFrog

@ FrownyFrog ขอขอบคุณ! ดูเหมือนว่าฉันไม่ค่อยได้ใช้ e :)
Galen Ivanov



2

ทูตขนาด 39 ไบต์

Any&:&{_*~?Sum[__]}@Slices&2@Sign@Delta

ลองออนไลน์!

ค่อนข้างมีความสุขกับสิ่งที่เกิดขึ้น

คำอธิบาย

นี่คือองค์ประกอบของสี่ฟังก์ชั่น:

Delta
Sign
Slices&2
Any&:&{_*~?Sum[__]}

Deltaรับความแตกต่างระหว่างองค์ประกอบ =

จากนั้นSignจะนำไปใช้กับความแตกต่างกันทำให้เรามี1s, 0s และ-1s =

จากนั้นSlices&2ให้ความยาวทั้งหมดสองส่วนจากอาเรย์

ในที่สุดAny&:&{_*~?Sum[__]}เทียบเท่ากับสำหรับการป้อนข้อมูลx:

Any[&{_*~?Sum[__]}, x]
Any[[el] -> { el[0] and not (el[0] + el[1] = 0) }, x]

การค้นหาองค์ประกอบซึ่งรวมเป็นศูนย์ แต่ไม่เป็นศูนย์ หากมีองค์ประกอบคู่ใด ๆ อยู่แสดงว่ามีการกระแทก




2

อ็อกเทฟ 33 ไบต์

@(x)0||abs(diff(sign(diff(x))))>1

ลองออนไลน์!

คำอธิบาย:

@(x)                           % Anonymous function taking x as input
                  diff(x)       % Takes the difference between consecutive elements
             sign(diff(x))      % The sign of the differences
        diff(sign(diff(x)))     % The difference between the signs
    abs(diff(sign(diff(x)))>1   % Check if the absolute value is 2
@(x)abs(diff(sign(diff(x)))>1   % Output as matrices that are treated truthy or falsy

2

Brachylogขนาด 10 ไบต์

s₃.¬≤₁∧¬≥₁

ลองออนไลน์!

สำเร็จ ( true.) หากมีการชนและล้มเหลว ( false.) หากไม่มีการชน

คำอธิบาย

สิ่งนี้สามารถอ่านได้ค่อนข้าง:

s₃.           There is a substring of the input…
  .¬≤₁        …which is not non-decreasing…
      ∧       …and…
       ¬≥₁    …which is not non-increasing

2

05AB1E , 7 ไบต์

¥ü‚P0‹Z

ลองออนไลน์!

คำอธิบาย

¥         # calculate delta's
 ü‚       # pair each element with the next element
   P      # product of each pair
    0‹    # check each if less than 0
      Z   # max

ไม่มีทางเลือก 1 ไบต์0‹ว่าตรวจสอบหมายเลขสำหรับสัญญาณเชิงลบหรือไม่
Magic Octopus Urn

@MagicOctopusUrn: dใช้เพื่อตรวจสอบว่าส่วนบนสุดของสแต็กมีอยู่[0-9]ซึ่งตรงข้ามกับสิ่งที่เราต้องการที่นี่ แต่ตอนนี้มันฉลาดกว่าและลบ / ลอยก็นับเป็นตัวเลขเช่นกัน
Emigna

Ahhhh ... ไม่สามารถสาบานaได้เห็นnegativeสัญญาณและกลับมาจริงหรืออะไร ... แต่ฉันคิดว่าคุณพูดถูกฉันจำdเคล็ดลับของคุณ
Magic Octopus Urn

2

Brachylogขนาด 10 ไบต์

s₃s₂ᶠ-ᵐ×<0

ลองออนไลน์!

ไม่เกือบเรียบร้อยและสวยงามเท่าคำตอบ 10 ไบต์ของ @ Fatalize ที่มีอยู่ แต่ใช้งานได้!

s₃   % There exists a substring of three elements [I,J,K] in the array such that

s₂ᶠ  % When it's split into pairs [[I,J],[J,K]]

-ᵐ   % And each difference is taken [I-J, J-K]

×    % And those differences are multiplied (I-J)*(J-K)
     % (At a bump, one of those will be negative and the other positive. 
     % At other places, both differences will be positive, or both negative, 
     %  or one of them 0 - ultimately resulting in a non-negative product.)

<0   % The product is negative




1

Pyt , 11 7 ไบต์

₋ʁ*0<Ʃ±

ส่งออก 1 หากมีการชน, 0 เป็นอย่างอื่น

ลองออนไลน์!

คำตอบของ HaskellของWheat Wizard


วิธีเก่า (11 ไบต์):

₋±₋Å1≤ĐŁ↔Ʃ=

ลองออนไลน์!

ผลตอบแทนเท็จถ้ามีการชนจริงอย่างอื่น

คำตอบของเยลลี่พอร์ตของเดนนิส


1

ภาษา Wolfram (Mathematica) , 37 36 bytes

FreeQ[(d=Differences)@Sign@d@#,-2|2]&

ให้คำตอบตรงข้ามของคำตอบกรณีทดสอบ (กลับเป็นเท็จและจริง) เตรียม a !เพื่อสลับไปยังแบบฟอร์มปกติ

หรือ

Abs@(d=Differences)@Sign@d@#~FreeQ~2&

เอาท์พุทยังย้อนกลับดังนั้นแทนที่FreeQด้วยMatchQสำหรับรูปแบบปกติ

คำอธิบาย: ใช้สัญลักษณ์ของความแตกต่างของลำดับ Iff ลำดับผลลัพธ์ประกอบด้วย {1, -1} หรือ {-1,1} มีการชน ค่าสัมบูรณ์ความแตกต่างของ {1, -1} หรือ {-1,1} คือ 2 ในกรณีใดกรณีหนึ่ง

สลัดไบต์อื่นด้วยการยกกำลังสองรายการสุดท้ายแทนที่จะรับค่าสัมบูรณ์:

FreeQ[(d=Differences)@Sign@d@#^2,4]&

ลองออนไลน์!



1

Julia 0.6 , 57 56 bytes

l->any(p>c<n||p<c>n for(p,c,n)=zip(l,l[2:end],l[3:end]))

โดยทั่วไปแล้วคำตอบหลามของมนุษย์โดยสิ้นเชิง -1 ไบต์จาก user71546

ลองออนไลน์!

Julia 0.6 , 39 ไบต์

f(x,y,z,a...)=x>y<z||x<y>z||f(y,z,a...)

รูปแบบการเรียกคืน Lispy หรือคำตอบหลามของ Dennis ส่งคืนtrueเมื่อมีการชนเกิดขึ้นมิฉะนั้นจะเกิดข้อผิดพลาด นี่น่าจะเป็น 42 ไบต์เนื่องจากคุณต้องทำเครื่องหมายเมื่อโทร เช่นการที่คุณเรียกว่าเป็นa=[1,2,1] จะลบความต้องการนั้นออก แต่จะนานกว่านั้น ฉันต้องการการสอบถามซ้ำที่ดีขึ้นและฉันไม่ชอบการเขียนโค้ดที่ทำให้เกิดข้อผิดพลาดf(a...)f(a)=f(a...)

ลองออนไลน์!


1
ดูเหมือนว่าพื้นที่หลังforไม่จำเป็น;)
Shieru Asakoto
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.