Grup adlarını sırala


22

Meydan açıklaması

Bir isim, her biri birçok grup tarafından kaydedilen birçok parçalık bir müzik kütüphanesi var gibi Queen, Aerosmith, Sunny Day Real Estate, The Strokes. Bir müzik çalar kitaplığınızı alfabetik olarak grup adına göre görüntülediğinde, genellikle Thegrup isimlerini atlar ve Themedya koleksiyonunuzda gezinmeyi kolaylaştırır. Bu zorlamada, dizelerin bir listesi (dizisi) göz önüne alındığında, bu şekilde sıralamanız gerekir (yani, Theismi adın başında atlar ). Bir yöntem ya da tam çalışan bir program yazabilirsiniz.

Örnek girişler / çıkışlar

[Queen, Aerosmith, Sunny Day Real Estate, The Strokes] -> [Aerosmith, Queen, The Strokes, Sunny Day Real Estate]
[The Ramones, The Cure, The Pixies, The Roots, The Animals, Enrique Iglesias] -> [The Animals, The Cure, Enrique Iglesias, The Pixies, The Ramones, The Roots]
[The The, The They, Thermodynamics] -> [The The, Thermodynamics, The They]

Notlar / Kenar kılıfları

  • Sözlük sırasında sıralama böylece, duyarsız olduğu The Police, The policeve the policetüm eşdeğerdir,

  • Algoritmanız yalnızca ilk thekelimeyi atlamalıdır , bu yüzden normal olarak adlandırılmış The Theveya The The Bandsıralanan gruplar sıralanır the,

  • The(Üç harfli bir kelime) adlı bir bant normal olarak sıralanır (atlama yok),

  • Aynı isme sahip iki grubun sırası (biri thegibi The Policeve ile başlar Police) tanımsız,

  • Bir grubun adı birden fazla kelimeden oluşuyorsa, tek bir boşluk karakteriyle ayrıldığını varsayabilirsiniz. Önde gelen ya da takip eden beyaz boşluklarla uğraşmanıza gerek yok,

  • Tüm girdi dizeleri eşleşir [A-Za-z0-9 ]*, yani sadece İngilizce alfabe, rakamlar ve boşluk karakterlerinden oluşan küçük ve büyük harflerden oluşacaktır.

  • Bunun bir mücadelesi olduğunu unutmayın, bu yüzden kodunuzu mümkün olduğunca kısa tutun!


Yalnızca sayıdaki adlar alfabetikten önce mi sonra mı gelir?
AdmBorkBork

Yalnızca
rakamsal

1
Sıralama düzeni nedir Theve The The? (Tanımsız başka bir şey ise çoğu cevaplar muhtemelen değişim gerekir)
Brad Gilbert b2gills

Los Lobos nasıl?
njzk2

3
Bu arada, gerçek bir grup. (Kim, Kim, Nerede, Ne Zaman, Neden ve Nasıl) ile birlikte
DanTheMan

Yanıtlar:


7

Python, 56 62 64 bayt

lambda b:sorted(b,key=lambda x:(x,x[4:])[x.lower()[:4]=='the '])

Dene

Doğru şekilde lstrip()kullanılmadığını belirten @Chris H sayesinde The The, şerit tüm eşleşen karakterleri patlatıp boş bir dize olarak sıralıyordu ve kullanımdaki hatayı bulmak için @manatwork kullanıldı replace(). Yeni sürüm çalışması gerekir.

Eski versiyon:

lambda b:sorted(b,key=lambda x:x.lower().lstrip('the '))

1
İkna olmadım. Son listeye "hayvanlar" eklenmesi verir ['The The', 'The', 'The Animals', 'Thermodynamics', 'The They']. 2. kenar davası, oturmanın ['Hayvanlar', 'The', 'The', 'Termodinamik', 'Onlar'] (ya da 2. ve 3. maddeleri değiştirmesi) şeklinde olmasını önermektedir. Küçük bir işe yaramazlık içerideki boşluğun strip('the ')göz ardı edildiğini gösteriyor - deneyinfor x in ['The The', 'The They', 'Thermodynamics', 'The', 'The Animals']: print (x.lower().strip('the '))
Chris H

Bu replace()daha iyi değil: 'what the snake'.replace('the ','',1)sonuçlar 'what snake'.
Manat

5

V , 32 28 bayt

ç^The /dwA_
:sort
ç_/$xIThe 

Çevrimiçi deneyin!

:sortKendime not : Kısaltma yapın, böylece tek bir komut için 6 tam bayta ihtiyacım olmaz!

Açıklama:

ç^The /     "On every line starting with 'The ',
       dw   "Delete a word
         A_ "And (A)ppend an underscore '_'

:sort       "Sort all lines alphabetically

ç_/         "On every line containing an underscore,
   $x       "Delete the last character
     IThe   "And prepened 'The '

V'ye aşina değil, ama bu yıldız işareti olmadan iyi sonuç veriyor. Bu girdiyle çakışıyor mu, yoksa gerçekten gereksiz mi?
kirkpatt

1
@kirkpatt İyi fikir! Bu neredeyse işe yarıyor ama tam olarak değil. Örneğin, bu girişte hatalı olarak "Ramones" ve "The Roots" dan sonra "Radiohead" ekler. Ancak, bu bana bir fikir verir ...
DJMcMayhem

theGibi tüm küçük harf ise ne olur the pAper chAse?
AdmBorkBork,

4

Retina , 34 bayt

Sondaki satır besleme kayda değerdir.

%`^
$';
T`L`l`.+;
m`^the 

O`
.+;

G / Ç, her satırda bir banttır.

Çevrimiçi deneyin!

açıklama

%`^
$';

;Ayırıcı olarak kullanarak her satırı çoğaltın .

T`L`l`.+;

Her şeyi a'nın önüne ;küçük harfe çevirin .

m`^the 

theSatırın başında belirenleri kaldırın .

O`

Çizgileri sırala.

.+;

Sıralama için kullandığımız satırların başlangıçlarını kaldırın.


İlk 3 Adımı tek bir adımda toplayamaz mıydınız? PCRE'deki gibi: s / (?i:the )?(.*)/ \L$1\E;$0/
Falco

@Falco .NET, ikame dizelerinde küçük harf değişikliklerini desteklemiyor ve ben de bunları Retina'nın özel ikame edicisine eklemedim.
Martin Ender

4

Pyke, 16 bayt

.#l1D"the ".^4*>

Burada dene!

.#                - sort_by(V, input)
  l1              -  i = i.lower()
      "the ".^    -   i.startswith("the ")
              I   -  if ^:
               4> -   i[4:]

3

Perl, 52 bayt

@ Mat210 sayesinde @manatwork -1 byte sayesinde -13 bayt

sub f{lc pop=~s/^the //ri}print sort{f($a)cmp f$b}<>

Girdi başına satır başına bir bant, yani çıktı.

Uygulama oldukça basittir: program f, sonuçta baştaki satır olmadan küçük harfli bant adını veren özel bir fonksiyonun ( ) yardımıyla sıralanmış grupların listesini yazdırır the.


Yerine eşleştirme ikamesi ile kısadır: sub f{lc$_[0]=~s/^the //ir}.
Manat çalışması

Gerçekten 1 byte daha kısa, teşekkürler.
Dada

Aslında 2 ya da 3 bayt daha kısa saydım: ikame lcparametresinin etrafındaki parantez ve iikame içindeki bayrağa gerek yok . Yoksa çalışmadığı bir test vakasıyla mı tanıştınız?
Manatwork

Eğer ayrı bir satıra her grubun ismini alırsak yine Düşünme, komut satırı seçeneklerinin miktarı da azalabilir: perl -e 'sub f{lc$_[0]=~s/^the //ri}print sort{f($a)cmp f$b}<>' <<< $'Queen\nAerosmith\nSunny Day Real Estate\nThe Strokes'.
Manatwork

1
Üç bayt kaydet: lc popyerine lc$_[0]ve sayyerine print. (İkincisi -M5.01ücretsizdir, gerektirir .) Strawberry 5.20.2'de, yalnızca sorudan ilk test durumu ile test edilmiştir.
msh210

2

Python, 66 72 69 bayt

lambda x:sorted(x,key=lambda a:a[4*(a.lower()[:4]=='the '):].lower())

"The" eksi adına göre sıralamak sortediçin Python yöntemini keyanahtar sözcük argümanıyla kullanır . Bu bir lambda; aramak için, isminizi koyarak söyleyin.f= önüne .

Şimdi ekstra büyük harf duyarsızlığı ile!


2
Bu durum duyarsızlık gerekliliğini karşılamıyor olsa da ... Bir grup ismi ile başlayabilir the , bu durumda bu yöntem düzgün çalışmayacaktır.
shooqie

@shooqie Oh, bu şartı görmedim. Düzelteceğim.
Bakır


2

Perl 6 , 26 bayt

*.sort({fc S:i/^'the '//})

Açıklama:

# 「*」 is the input to this Whatever lambda
*.sort(

  # sort based on the return value of this Block lambda
  {
    fc # foldcase the following

    # string replace but not in-place
    S
      :ignorecase
      /
        # at the start of the string
        ^

        # match 「the 」
        'the '

      # replace with nothing
      //
  }
)

Ölçek:

use v6.c;
use Test;

my @tests = (
  « Queen Aerosmith 'Sunny Day Real Estate' 'The Strokes' »
    => « Aerosmith Queen 'The Strokes' 'Sunny Day Real Estate' »,
  « 'The Ramones' 'The Cure' 'The Pixies' 'The Roots' 'The Animals' 'Enrique Iglesias' »
    => « 'The Animals' 'The Cure' 'Enrique Iglesias' 'The Pixies' 'The Ramones' 'The Roots' »,
  « 'The The' 'The They' Thermodynamics »
    => « 'The The' Thermodynamics 'The They' »,
);

# give it a lexical name for clarity
my &band-sort = *.sort({fc S:i/^'the '//});

plan +@tests;

for @tests -> ( :key(@input), :value(@expected) ) {
  is-deeply band-sort(@input), @expected, @expected.perl;
}
1..3
ok 1 - ("Aerosmith", "Queen", "The Strokes", "Sunny Day Real Estate")
ok 2 - ("The Animals", "The Cure", "Enrique Iglesias", "The Pixies", "The Ramones", "The Roots")
ok 3 - ("The The", "Thermodynamics", "The They")

2

PowerShell v2 +, 33 32 29 bayt

$args|sort{$_-replace'^the '}

@MathiasRJessen sayesinde 3 bayt kaydedildi

Giriş, komut satırı argümanları üzerinden yapılır. Baştaki (büyük / küçük harf duyarlı) {...}sırayı -replaceçıkarmak için bir regex uygulayan komut dosyası bloğunun sonuçlarına göre orijinal adları sıralar "the ".

Örnekler

PS C:\Tools\Scripts\golfing> .\sort-band-names.ps1 'the Ramones' 'The cure' 'The Pixies' 'The Roots' 'the Animals' 'Enrique Iglesias'
the Animals
The cure
Enrique Iglesias
The Pixies
the Ramones
The Roots

PS C:\Tools\Scripts\golfing> .\sort-band-names.ps1 'The The' 'The They' 'Thermodynamics'
The The
Thermodynamics
The They

PS C:\Tools\Scripts\golfing> .\sort-band-names.ps1 'THE STOOGES' 'The Strokes' 'The The' 'the they' 'the band' 'STP'
the band
THE STOOGES
STP
The Strokes
The The
the they

-replacevarsayılan olarak büyük / küçük harf duyarsızdır '^the ', kalıp için yeterli olacaktır
Mathias R. Jessen

@ MathiasR.Jessen Evet, hatırlatıcı için teşekkürler.
AdmBorkBork,

@ValueInk Bkz. Mathias'ın vaka duyarsızlığı ve eklediğim son örnek hakkındaki yorumu.
AdmBorkBork,

2

JavaScript / ECMAScript 6 93 70 bayt

70 Tavsiye için Neil ve Downgoat'a teşekkürler

B=>B.sort((a,b)=>R(a).localeCompare(R(b)),R=s=>s.replace(/^the /i,''))

70 bayt değişken için Okunabilir Sürüm

let sortBandNames = (bandNames) => {
    let stripThe = (name) => name.replace(/^the /i, '');
    let compareFunc = (a, b) => stripThe(a).localeCompare(stripThe(b));
    return bandNames.sort(compareFunc)
};

93

f=B=>{R=s=>s.toLowerCase().replace(/the /,'');return B.sort((a,b)=>R(a).localeCompare(R(b)))}

93 bayt değişkeni için okunabilir sürüm

let sortBandNames = (bandNames) => {
    let stripThe = (name) => name.toLowerCase().replace(/the /, '');
    let compareFunc = (a, b) => stripThe(a).localeCompare(stripThe(b));
    return bandNames.sort(compareFunc)
};

Bu regexp'in içinde olması gerekmiyor ^mu? Ayrıca, localeCompare sistemimde büyük / küçük harf duyarsız, bu yüzden regexp'de toLowerCasesadece bir /ibayrak gerekmedi . Sonunda, aşağıdaki gibi golf oynayabilirsiniz: B=>B.sort((a,b)=>...,R=s=>...)- sortayarlanan ekstra parametreyi dikkate almaz R.
Neil

Regex'in neresinde gideceksin? Bu bir olumsuzlama olurdu ve ifadenin "" ile eşleşmesi ve silinmesi gerekiyordu. Küçük harf dönüşümü olmadan yerel karşılaştırmayı kullanmayı deneyeceğim.
Pandacoder

@Pandacoder ^shuold regex başında gitmek
Downgoat

@Downgoat Verilen tüm durumları test ederek ve RegEx'i kırmak için özel olarak ortaya koyduğum birkaç vakadan, davranışta değişiklik yapmadım, hiçbir şey yapmayan fazladan bir karakter alıyorum.
Pandacoder

@Pandacoder bunu geçerli kılmaz. ^, "" "karakterinin başına başında olmasını gerektiren bir
çapadır

1

Java 8, 178 bayt

void q(String[]s){java.util.Arrays.sort(s,(a,b)->(a.toLowerCase().startsWith("the ")?a.substring(4):a).compareToIgnoreCase(b.toLowerCase().startsWith("the ")?b.substring(4):b));}

Ungolfed versiyonu:

void sort(String[] bands) {
    java.util.Arrays.sort(bands, (a, b) -> 
        (a.toLowerCase().startsWith("the ") ? a.substring(4) : a).compareToIgnoreCase(
            b.toLowerCase().startsWith("the ") ? b.substring(4) : b
        )
    );
}

Bu şekilde arayın:

public static void main(String[] args) {
    String[] bands = {"The Strokes", "Queen", "AC/DC", "The Band", "Cage the Elephant", "cage the elephant"};
    sort(bands); // or q(bands) in the golfed version
    System.out.println(java.util.Arrays.toString(bands));
}

Bunu neredeyse bir yıl önce cevapladığını biliyorum, ama birkaç şeyi golf oynayabilirsin. Eğer Java 8 kullanan devlet olduğundan, değiştirebilir void q(String[]s){...}için s->{...}. Ve her ikisi de değiştirebilir (x.toLowerCase().startsWith("the ")?x.substring(4):x)ile x.replaceFirst("(?i)the ",""). Böylece toplam olur: s->{java.util.Arrays.sort(s,(a,b)->a.replaceFirst("(?i)the ","").compareToIgnoreCase(b.replaceFirst("(?i)the ","")));}- 118 bayt
Kevin Cruijssen

ReplaceFirst ile düzenli numara. Buna cevap verdiğimde, birkaç kez s->{ ... }izin verilmeyen diğer cevaplar hakkında bana bilgi verildi ve ne tür ne de olsa tam bir imzam vardı. O zamandan beri değişip değişmediğini bilmiyorum.
Justin,

O zamanlar hakkında emin değilim, ancak bu günlerde Java veya C #. NET'te golf oynayan herkese yakın olarak izin veriliyor ve kullanılıyor.
Kevin Cruijssen

0

Nim , 96 bayt

import algorithm,strutils,future
x=>x.sortedByIt toLower it[4*int(it.toLower[0..3]=="the ")..^0]

Bu importkadar çok bayt alır:|

Python cevabımın çevirisi .

Bu isimsiz bir işlemdir; kullanmak için bir test prosedürüne geçirilmelidir. İşte test için kullanabileceğiniz tam bir program:

import algorithm,strutils,future
proc test(x: seq[string] -> seq[string]) =
 echo x(@["The The", "The They", "Thermodynamics"]) # Substitute your input here
test(x=>x.sortedByIt toLower it[4*int(it.toLower[0..3]=="the ")..^0])

0

Haskell, 84 bayt

import Data.List
p(t:'h':'e':' ':s)|elem t"Tt"=s
p s=s
sortBy(\a b->p a`compare`p b)

İle ara

sortBy(\a b->p a`compare`p b)["The The", "The They", "Thermodynamics"]

Test durumu:

let s = sortBy(\a b->p a`compare`p b)
and[s["Queen", "Aerosmith", "Sunny Day Real Estate", "The Strokes"]==["Aerosmith", "Queen", "The Strokes", "Sunny Day Real Estate"],s["The Ramones", "The Cure", "The Pixies", "The Roots", "The Animals", "Enrique Iglesias"]==["The Animals", "The Cure", "Enrique Iglesias", "The Pixies", "The Ramones", "The Roots"],s["The The", "The They", "Thermodynamics"]==["The The", "Thermodynamics", "The They"]]

0

MATL , 16 bayt

tk'^the '[]YX2$S

Giriş formatı (her satır bir test senaryosuna karşılık gelir)

{'Queen', 'Aerosmith', 'Sunny Day Real Estate', 'The Strokes'} 
{'The Ramones', 'The Cure', 'The Pixies', 'The Roots', 'The Animals', 'Enrique Iglesias'}
{'The The', 'The They', 'Thermodynamics'}

Çevrimiçi deneyin!

açıklama

t        % Implicitly input cell array of strings. Push another copy
k        % Convert to lowercase
'^the '  % String to be used as regex pattern: matches initial 'the '
[]       % Empty array
YX       % Regex replacement: replace initial 'the ' in each string by empty array
2$S      % Sort input according to the modified cell array. Implicitly display

0

C #, 139 Bayt

using System.Linq;System.Collections.IEnumerable S(string[] l)=> l.OrderBy(b=>(b.ToLower().StartsWith("the ")?b.Substring(4):b).ToLower());

Çevrimiçi deneyin!

Kullanımları saymadan cevap, 102 bayttır.


Büyük / ToLower()küçük harfe duyarsız gereksinim nedeniyle finali görmezden geleceğine inanıyorum
TheLethalCoder

Ayrıca, bazı baytları kaydetmesi gereken anonim bir işlev de yapabilirsiniz:
TheLethalCoder 15.07

l=>l.OrderBy(b=>(b.ToLower().StartsWith("the ")?b.Substring(4):b));67 bayt için ardından da üzerinde eklemeniz gerekir using System.Linq;çok
TheLethalCoder

@TheLethalCoder: Büyük ToLower/ küçük harfe duyarsız gereksinimden dolayı ikinciye ihtiyacım var. Aksi halde, sipariş büyük / küçük harf duyarlıdır.
raznagul

Tamam, anonim bir işleve dönüştürme hakkında nokta yine de duruyor
TheLethalCoder

0

BASH, 64 Bayt

sed 's/^the / /;s/^The /    /'|sort -fb|sed 's/^ /the /;s/^ /The /'

Giriş: stdin, satır başına bir bant. Çıktı: stdout

Not: İkinci değiştirmeler (s / ^ / / ve s / ^ / / /) sekme karakterini kullanır, böylece her zaman doğru kopyalayıp yapıştırmazlar.


0

Bash + coreutils, 44 bayt

sed '/^the /I!s,^,@ ,'|sort -dk2|sed s,@\ ,,

Açıklama: giriş ve çıkış formatı satır başına bir banttır

sed '/^the /I!s,^,@ ,'   # prepend '@ ' to each line not starting with 'the ', case
                         #insensitive. This adds a temporary field needed by sort.
sort -dk2                # sort in ascending dictionary order by 2nd field onward
sed s,@\ ,,              # remove the temporary field

Test çalıştırması (son işaretleyici olarak EOF olan bir burada belge kullanarak):

./sort_bands.sh << EOF
> Queen
> Aerosmith
> Sunny Day Real Estate
> The Strokes
> EOF

Çıktı:

Aerosmith
Queen
The Strokes
Sunny Day Real Estate

0

Vim, 18 bayt

Şimdi bunun mümkün olduğunu anladığımda, 26 baytlık V cevabımdan utanıyorum, özellikle de V'nin vim'den daha kısa olması gerektiği için. Ama bu hemen hemen bir yerleşik.

:sor i/\(The \)*/<CR>

Açıklama (doğrudan vim yardımından):

                            *:sor* *:sort*
:[range]sor[t][!] [b][f][i][n][o][r][u][x] [/{pattern}/]
            Sort lines in [range].  When no range is given all
            lines are sorted.

            With [i] case is ignored.

            When /{pattern}/ is specified and there is no [r] flag
            the text matched with {pattern} is skipped, so that
            you sort on what comes after the match.
            Instead of the slash any non-letter can be used.

0

C, 216 212 135 + 5 ( qsort) = 221 217 140 bayt

M(void*a,void*b){char*A,*B;A=*(char**)a;B=*(char**)b;A=strcasestr(A,"The ")?A+4:A;B=strcasestr(B,"The ")?B+4:B;return strcasecmp(A,B);}

Sonunda bunu bitirmek için etrafta dolaştım C. Golf ipuçları çok takdir edilmektedir.

Bu başvuruda, Msağlanacak olan karşılaştırma işlevidir qsort. Bu nedenle, bu çağırmak için, kullanmak gerekir qsortformatında qsort(argv++,argc--,8,M)nerede argvkomut satırı argümanları içerir veargc bağımsız değişken sayısını olduğunu.

Çevrimiçi Deneyin!


0

05AB1E , 27 bayt ( yarışmaz )

vyð¡RD¤…TheQsgα£Rðý})‚øí{ø¤

Çevrimiçi deneyin!

açıklama

vyð¡RD¤…TheQsgα£Rðý})‚øí{ø¤   Argument l
v                 }           For each y in l, do:
 yð¡                            Split y on space
    RD                          Reverse and duplicate
      ¤…TheQ                    Last element equals "The" (true = 1, false = 0)
            sgα                 Absolute difference with length of array
               £                Get elements from index 0 to calculated difference
                R               Reverse
                 ðý             Join on space
                    )‚øí      Pair each element with original
                        {ø¤   Sort and get the original band name

0

Groovy, 34 bayt

{it.sort{it.toLowerCase()-'the '}}

41% cevabım .toLowerCase() , beni şimdi öldür.


Çıktı

Koşarken ...

({it.sort{it.toLowerCase()-'the '}})(['The ramones','The Cure','The Pixies','The Roots','The Animals','Enrique Iglesias'])

Sonuç ...

[The Animals, The Cure, Enrique Iglesias, The Pixies, The ramones, The Roots]

Hata ayıklama veya hata çıkışı yok.


0

q / kdb +, 36 33 bayt

Çözüm:

{x(<)@[x;(&)x like"[Tt]he *";4_]}

Örnek:

q){x(<)@[x;(&)x like"[Tt]he *";4_]}("Queen";"Aerosmith";"Sunny Day Real Estate";"The Strokes";"the Eagles")
"Aerosmith"
"the Eagles"
"Queen"
"The Strokes"
"Sunny Day Real Estate"

Açıklama:

Her giriş dizgisinden herhangi bir "[Tt] he" yi çıkarın, bu listeyi sıralayın, sonra sıralanan listenin endekslenmesine göre orijinal listeyi sıralayın.

{x iasc @[x;where x like "[Tt]he *";4_]} / ungolfed solution
{                                      } / lambda function
        @[x;                       ;  ]  / apply function to x at indices
                                    4_   / 4 drop, remove first 4 items
            where x like "[Tt]he *"      / where the input matches 'The ...' or 'the ...'
   iasc                                  / returns sorted indices
 x                                       / index into original list at these indices


-2

Java 176 158 bayt

public String[]sort(String[]names){
  for(int i=-1;++i<names.length;)
    if(names[i].startsWith("(The |the )"))
      names[i]=names[i].substring(4);
  return Arrays.sort(names,String.CASE_INSENSITIVE_ORDER);
  }

Ana işlev

public static void main(String[]args){
  Scanner s = new Scanner(System.in);
  List<String> list= new ArrayList<>();
  while(!(String h = s.nextLine).equalsIgnoreCase("~")){
    list.add(h);
  }
System.out.println(sort(list.toArray(newString[0]))

); }

Golf sıralama işlevi:

String[]s(String[]n){for(int i=-1;++i<n.length;)if(n[i].startsWith("(The |the )"))n[i]=n[i].substring(4);return Arrays.sort(n,String.CASE_INSENSITIVE_ORDER);}

18 bayt tasarruf için @raznagul teşekkürler


Bir isim ile başlarsa işe yaramaz the . Sıralama büyük / küçük harf duyarlı olmamalıdır.
shooqie

Bu hiç işe yaramayacak ... Dizeler değişmez. Sen yapmak istiyorsun public String[]sort(String[]names){ for(int i=-1;++i<names.length;) names[i]=names[i].replaceFirst("(the|The)", ""); return Arrays.sort(names,String.CASE_INSENSITIVE_ORDER); }ve çalışması gerekir, ve değişmez bir karakter dizisidir
Socratic Phoenix

Bunu düzelttim, fakat küçük bir "the" ile başlayan bir grup bul
Roman Gräf

2
Arrays.sortvoid türünü döndürür
user902383

1
@ RomanGräfthe pAper chAse
AdmBorkBork
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.