(ama bir şey bulmayacak Findveya yakalamayacağız tryCatch)
Bu, bazı ilginç R fonksiyonlarını uygulamanın çok parçalı serisinin ikinci kısmıdır. Birinci bölüm burada bulunabilir .
Görev:
R'nin matchfonksiyonunu mümkün olduğu kadar az baytta uygulayacaksınız .
Giriş:
x, muhtemelen boş bir liste / tamsayı dizisitable, muhtemelen boş bir liste / tamsayı dizisinomatch, tek bir tamsayı değeriincomparables, muhtemelen boş bir liste / tamsayı dizisi
Çıktı:
- her değerin ikisini birden temsil ettiği ,
Oeşit uzunlukta tam sayıların bulunduğu bir dizi / liste :xO[i]- Endeks
jiçinde ilk değerdentabletable[j]==x[i] nomatch, Hiçbir değer gösterentablena eşitx[i]TD bux[i]listesinde olupincomparables.
- Endeks
Test Kılıfları
All in the form x, table, nomatch, incomparables -> output
outputs
[], [1,2,3], 0, [5] -> []
[1, 2, 3], [], 0, [5] -> [0, 0, 0]
[9, 4, 3, 6, 3], [9, 8, 7, 6, 5, 4, 3, 2, 1], -1, [4] -> [1, -1, 7, 4, 7]
[8, 6, 7, 5, 3, 0, 9], [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6], 1000, [1] -> [12, 8, 14, 5, 1, 1000, 6]
Gerektiğinde daha fazla test durumu oluşturulabilir.
Ek kurallar:
- R, 1 bazlı endekslere sahiptir, ancak tutarlı bir alternatif bazlı endeksler kabul edilebilir. Böylece, 3 veya 17'de başlayan endeksleri veya her neyse kullanabilirsiniz, ancak bu tutarlı olmalı ve bunu cevabınızda belirtmelisiniz.
- Dil seçtiyseniz, bunu yapan bir yerleşik yapı varsa, lütfen kendi çözümünüzü de uygulayın.
- Açıklamalar takdir edilmektedir.
Bu kod golf , bayt cinsinden en kısa çözüm kazanıyor!
4olduğunu incomparableso eşleşti edilemez yüzden. Diliniz negatif sayıları destekleyemiyorsa, negatif olmayan sayılar istemeniz iyi olur, ancak gönderiminizde bu varsayımı belirtin.
make.