Xác định xem các chuỗi có đảo chữ không


85

Thử thách

Đưa ra hai chuỗi, tìm ra nếu cả hai đều có cùng một ký tự trong đó.

Thí dụ

Đầu vào

từ, viết

Điều này trở lại truebởi vì chúng giống nhau nhưng chỉ là tranh giành.

Đầu vào

từ, wwro

Điều này trở lại false.

Đầu vào

thuyền, toba

Điều này trở lại true

Quy tắc

Đây là các quy tắc!

  • Giả sử đầu vào sẽ dài ít nhất 1 char và không dài hơn 8 ký tự.
  • Không có ký tự đặc biệt, chỉ a-z
  • Tất cả các đầu vào có thể được coi là chữ thường

Các trường hợp thử nghiệm

boat, boat = true
toab, boat = true
oabt, toab = true
a, aa = false
zzz, zzzzzzzz = false
zyyyzzzz, yyzzzzzy = true
sleepy, pyels = false
p,p = true

10
9 câu trả lời trong 13 lượt xem ... wow!
Tom Gullen

@Tom, bởi vì mọi người đều muốn chứng minh rằng nhận xét của bạn về việc sử dụng số nguyên 64 bit đã chỉ sai hướng: P
Peter Taylor

5
Yêu cầu tiêu đề: Cod Elf, Go!

5
"Falcon Rage, phát điên!"
Geobits 6/10/2016

7
Gợi ý tên của tôi: "chúng có đảo chữ không" → "quản lý các mảng"
Esolanging Fruit

Câu trả lời:


39

Python, 32 byte

f=lambda a,b,S=sorted:S(a)==S(b)

3
@Debanjan, Điều này cũng giống như sự đánh def f(a,b):return sorted(a)==sorted(b)đổi là bạn có thể thay thế def + return bằng lambda để đổi lấy việc không sử dụng bất kỳ tuyên bố nào
gnibbler

1
@Debanjan, tôi nghĩ nó chỉ giúp bạn tiết kiệm một ký tự. Tôi đã sử dụng một biến thể ở đây, nhưng nó có cùng độ dài với biến thể của bạn bởi vì tôi trao đổi một dòng mới cho dấu phẩy
gnibbler

4
@Tomas, vô nghĩa. Câu hỏi đặt ra không xác định chương trình hoàn chỉnh, vì vậy một trong hai chức năng hoặc một chương trình hoàn toàn được chấp nhận.
gnibbler

2
@Tomas, Phần lớn các câu trả lời ở đây không vượt qua tiêu chí của bạn. Tại sao không cung cấp một upvote cho tất cả những người làm?
gnibbler

4
@Tomas, đó không phải là lạm dụng quy tắc. Một số câu hỏi được cố tình mở như thế này xuất hiện. So sánh với một câu hỏi được chỉ định tốt như thế này . Nếu bạn không thích những câu trả lời này, hãy phàn nàn với người hỏi
gnibbler

27

Golf, 3 ký tự?

$$=

sử dụng:

'boat'$'baot'$=
1

'toab'$'boat'$=
1

'oabt'$'toab'$=
1

'a'$'aa'$=
0

'zzz'$'zzzzzzzz'$=
0

'zyyyzzzz'$'yyzzzzzy'$=
1

'sleepy'$'pyels'$=
0

'p'$'p'$=
1

23
Đây là một cách giải thích thú vị về cách cung cấp đầu vào :)
gnibbler

4
Vui lòng giải thích :(
st0le

10
@ st0le, nghiêm túc chứ? Tôi không biết về golf, nhưng rõ ràng là $ (sort), $ (sort), = (so sánh)
Peter Taylor

11
Đây không phải là gian lận một chút sao? Ý tôi là, nó không phải là đầu vào biến. Nó phải được mã hóa cứng. Trong mọi trường hợp, tôi sẽ thêm 4 vào số ký tự cho các 'ký tự quote ( ).
Thomas Eding

6
Điều này không hợp lệ bởi các quy tắc hiện tại của chúng tôi. Tuy nhiên, bạn có thể thay đổi nó thành hàm 4 byte của @ JanDvorak, sẽ chấp nhận đầu vào thông qua định dạng đầu vào hợp lệ .
Doorknob

20

J, 8

-:&(/:~)

Nghĩa đen, trận đấu ( -:) trên ( &) sắp xếp ( /:~)

Sử dụng mẫu:

   'boat' -:&(/:~) 'boat'
1
   'toab' -:&(/:~) 'boat'
1
   'oabt' -:&(/:~) 'toab'
1
   'a' -:&(/:~) 'aa'
0
   'zzz' -:&(/:~) 'zzzzzzzz'
0
   'zyyyzzzz' -:&(/:~) 'yyzzzzzy'
1
   'sleepy' -:&(/:~) 'pyels'
0
   'p' -:&(/:~) 'p'
1

Trường hợp các số nguyên 64 bit đi vào hoạt động?


Có phải là không thể viết các hàm / chương trình con trong J không?

2
@Tim Nordenfur: họ được gọi là "động từ" và lấy một đối số ở bên phải của họ như trong v arg(monads) hoặc hai ở cả hai bên như trong arg1 v arg2(dyads). Một trong những tôi đã gửi rõ ràng là một dyad. Tôi không buồn đặt tên cho nó, vì nó không được yêu cầu và ngắn hơn theo cách này. Nếu bạn thực sự muốn đặt tên cho nó, bạn sẽ làm như thế này: is_anagram_of =: -:&(/:~)và sau đó sử dụng như 'a' is_anagram_of 'aa'.
JB

Nó cảm thấy hơi rẻ khi thay thế các đối số vào mã, nhưng tôi thấy bây giờ nó thực chất là một con đê. Đừng bận tâm.

29
J luôn trông giống như phần còn lại của vụ nổ nhà máy biểu tượng cảm xúc.
st0le

19

Javascript, 192 157 152 147 125 byte

Ok một số ngôn ngữ này linh hoạt hơn rất nhiều so với tôi nghĩ! Dù sao đây là cách lâu hơn tôi đoán, nhưng ít nhất là một kỹ thuật khác.

Nén

Cảm ơn Peter và David đã vắt kiệt nhiều ký tự hơn!

for(a=[j=p=2];j<123;)a[j]?p%a[++j]<1&&p++&&(j=0):(a[j]=p,j=0);function b(c,i){return c[i=i||0]?a[c.charCodeAt(i)]*b(c,++i):1}

Sau đó làm:

alert(b("hello")==b("elloh"));

Mã mở rộng

Việc nén đã có rất nhiều thay đổi, nhưng đây là lý thuyết cơ bản:

// Define dictionary of primes
a = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101];

// Returns the unique ID of the word (order irrelevant)
function b(c) {
    r = 1;
    for (i = 0; i < c.length; i++)
        r *= a[c[i].charCodeAt(0) - 97];
    return r
}

alert(b("hello") == b("hlleo"));

Ý tưởng tuyệt vời bằng cách sử dụng số nguyên tố.

@Tim cảm ơn! Có nó xuống đến 157 bây giờ.
Tom Gullen

2
Bạn có thể cạo một vài ký tự khỏi khởi tạo từ điển bằng rây. a=[2];for(p=3,j=0;j<26;)if(a[j]){if(p%a[j++]==0){p++;j=0}}else{a[j]=p;j=0}
Peter Taylor

1
@Tom, phụ thuộc vào mức độ tối ưu hóa các thói quen sắp xếp được tối ưu hóa như thế nào, với điều kiện là bạn đã giới hạn đầu vào ở 8 ký tự: P
Peter Taylor

1
125 ký tự . Đệ quy và chim nhạn FTW:for(a=[j=p=2];j<123;)a[j]?p%a[++j]<1&&p++&&(j=0):(a[j]=p,j=0);function b(c,i){return c[i=i||0]?a[c.charCodeAt(i)]*b(c,++i):1}
David Murdoch

15

Golf, 8 byte

Cái này định nghĩa một hàm gọi là A

{$\$=}:A

Các trường hợp thử nghiệm

;
'boat' 'boat' A
'toab' 'boat' A
'oabt' 'toab' A
'a' 'aa' A
'zzz' 'zzzzzzzz' A
'zyyyzzzz' 'yyzzzzzy' A
'sleepy' 'pyels' A
'p' 'p' A

11

Haskell, 31 byte

chức năng - 31

import List
f=(.sort).(==).sort

chương trình - 81 58 55

import List
g=sort`fmap`getLine
main=(`fmap`g).(==)=<<g

Sử dụng:

$ runghc anagram.hs
boat
boat
True
$ runghc anagram.hs
toab
boat
True
$ runghc anagram.hs
a
aa
False

Kudos để lambdabottái cấu trúc không điểm của nó .


Mã Haskell có thể chỉ thực hiện những gì muốn theo runghc, nhưng không được biên dịch, vẫn được gọi là "chương trình" không?
JB

3
@JB: Mã Perl có thể chỉ những gì muốn theo perlvẫn được gọi là "chương trình" không? :-)
Joey Adams

JB: Ngày nay các ngôn ngữ chức năng làm lệch ý nghĩa của một chương trình làm cho nó trở thành một sự trừu tượng hóa bậc cao hơn. Thay vì chỉ là một danh sách các lệnh được thực thi, vì chương trình haskell chỉ có thể được xem như là một tập hợp các hàm, ngay cả khi chúng không được gọi.
Callum Rogers

@Callum Rogers: quan điểm của tôi là: mã của anh ấy hoạt động khác đi dù chạy dưới runghc hay được biên dịch, trong một khu vực nhạy cảm với vấn đề. "Chức năng" là tốt. "Chương trình" không giải quyết vấn đề dưới bất kỳ điều gì khác ngoài runghc và runghc không phải là cách hợp pháp duy nhất để chạy các chương trình Haskell. Trong bối cảnh đó, điều đó làm cho đoạn trích trở thành "kịch bản runghc", không phải là "chương trình Haskell". - không phải là tôi coi vấn đề quan trọng, như tôi đã nói, dù sao thì chức năng vẫn ổn và nó ngắn hơn.
JB

2
x#y=sort x==sort yngắn hơn 1 ký tự
Rotsor

10

C #, 129 ký tự

namespace System.Linq{class X{static void Main(string[]a){Console.Write(a[0].OrderBy(_=>_).SequenceEqual(a[1].OrderBy(_=>_)));}}}

Có thể đọc được

namespace System.Linq
{
    class X
    {
        static void Main(string[] a)
        {
            Console.Write(a[0].OrderBy(_ => _)
                  .SequenceEqual(a[1].OrderBy(_ => _)));
        }
    }
}

Tôi nghĩ rằng bạn có thể chơi golf một vài byte using System.Linq;thay vì đặt tên cho nó?
Stackstuck

10

Ruby, 34 byte

Sử dụng sơ đồ IO của giải pháp Peter Taylors Perl:

p gets.chars.sort==gets.chars.sort

Ném một lỗi:-e:1:in '<main>': undefined method 'chars' for nil:NilClass (NoMethodError)
Tomas

9

Chương trình C, 118

t[52],i;main(c){for(;i<52;)(c=getchar())<11?i+=26:t[i+c-97]++;
for(i=27;--i&&t[i-1]==t[i+25];);puts(i?"false":"true");}

1
Bao giờ xem xét áp dụng cho IOCCC ?
Mateen Ulhaq

9
@muntoo: bạn đã thấy gì trong IOCCC chưa? Đây là cách quá dễ đọc cho điều đó.
R. Martinho Fernandes

@Martinho Vâng, mã nguồn IOCCC rất đẹp. Bản giao hưởng. Nhưng ít nhất anh nên thử sáng tác một tác phẩm nhỏ. :)
Mateen Ulhaq

@muntoo: Tôi thậm chí không biết họ vẫn còn hoạt động.
Joey Adams

1
Chỉ cần nhìn thấy cái này ... Rất đẹp. Nhưng có thể ngắn hơn: t[256],i;main(c){for(;c+3;)(i=getchar())>10?t[i]+=c:(c-=2);for(i=257;--i&&!t[i-1];);puts(i?"false":"true");}- đó là 108 ký tự. Rất quan trọng, cthủ thuật khởi tạo của bạn vẫn được sử dụng.
ugoren

7

Perl, 58 byte

(chương trình hoàn chỉnh, không giống như câu trả lời Perl khác chỉ là một hàm)

($c,$d)=map{[sort split//]}<>;print"@$c"eq"@$d"?true:false

49 là một chức năng

sub f{($c,$d)=map{[sort split//]}<>;"@$c"eq"@$d"}

tất nhiên bạn có thể lưu 4 ký tự trong chương trình bằng cách loại bỏ "xung quanh đúng và sai, vì không sử dụng nghiêm ngặt / cảnh báo, một bareword là một chuỗi.
Joel Berger


Tôi thích cái này là ($c,$d)=map{[sort split//]}@ARGV;exit("@$c"ne"@$d")(51 ký tự) để nó có thể lấy các đối số dòng lệnh và sử dụng mã thoát dòng lệnh. Đó là 48 ký tự được giữ lại <>với đầu vào nhiều dòng.
Adam Katz

6

Clojure - 23 ký tự

Là một chức năng ẩn danh:

#(apply = (map sort %))

Ví dụ trường hợp thử nghiệm:

(#(apply = (map sort %)) ["boat" "boat"])
=> true

Thật tuyệt, tôi thích nó.
Chiron

1
Câu trả lời tốt đẹp. Tôi đặc biệt thích các chuỗi thử nghiệm bạn đã chọn ;-)
coredump

6

JavaScript

Dựa trên giải pháp của @ zzzzBov.

So sánh, 65 ký tự (40 không có chức năng)

function f(a,b){return a.split('').sort()==b.split('').sort()+""}

So sánh, 43 ký tự

function f(a){return a.split('').sort()+""}

Khéo léo sử dụng +""để ép buộc chuỗi.
Casey Chu

6

C ++ (104 ký tự không phải ws)


Dựa trên sắp xếp đếm. Lưu ý: Giả sử các chuỗi có cùng độ dài, dường như được ngụ ý (mặc dù không được nêu) bởi câu hỏi.

int u[123], i;

int a(char **c) {
    for(; c[0][i]; ) {
        u[c[0][i]]++;
        u[c[1][i++]]--;
    }

    i=123;
    while(i && !u[--i]);
    return !i;
}

Trong C, nếu bạn khai báo một biến trong phạm vi toàn cục, nó được khởi tạo thành 0. Tôi đoán điều này cũng đúng với C ++.
Joey Adams

Biến địa phương, mặt khác, được không khởi tạo số không tự động.
Joey Adams

OK, tôi đã loại bỏ sự cảnh báo của mình kể từ khi tôi tìm ra cách để làm mà không có nó.
Matthew đọc

1
Bzzzt. Bạn vượt qua các trường hợp thử nghiệm, nhưng "helle" và "hollo" rõ ràng là giống nhau. Khắc phục dễ dàng: thay đổi một trong các ++ thành a -. Sau đó, chỉ khi (u [i ++]) trả về 0;
Dave Gamble

1
Tôi chưa thử nghiệm điều này, nhưng ba dòng cuối cùng có thể được viết lài=123;while(i&&u[--i]);return!i;
st0le

4

PHP (dòng lệnh, 87 ký tự)

function d($s){
    return array_count_values(str_split($s));
}

echo d($argv[1]) == d($argv[2]);

4

Javascript

Một phiên bản (rất) ngắn hơn một chút của giải pháp @ zzzzBov, sử dụng .join()thay cho String boxing:

function a(b,c){return b.split('').sort().join()==c.split('').sort().join()}
alert(a('abc','bca')); //true

Tương tự:

function a(b){return b.split('').sort().join()}
alert(a('abc')==a('bca')); //true

3
đây là câu trả lời ID 1337. congratz
TheDoctor

4

Clojure REPL 41 ký tự

(= (sort (read-line)) (sort (read-line)))

Chào mừng bạn đến với mạng Stack Exchange. Định dạng giúp ở đây .
dmckee

4

Java

(ngôn ngữ yêu thích của mọi người rõ ràng!)

173 ký tự:

import java.util.*;class g{public static void main(String[]p){String[]a=p[0].split(""),b=p[1].split("");Arrays.sort(a);Arrays.sort(b);System.out.print(Arrays.equals(a,b));}}

(Không in char dòng mới để lưu 2 ký tự từ println)

Biên dịch và chạy:

javac g.java
java -cp . g abcdef fedcba
true

Thích nhìn thấy một cái ngắn hơn ...


Tôi biết đã hơn 6,5 năm (lol), nhưng bạn có thể chơi nó 10 byte bằng cách thêm java.util.Arrays x=null;và sử dụng x.thay vì Arrays.: class g{public static void main(String[]p){java.util.Arrays x=null;String[]a=p[0].split(""),b=p[1].split("");x.sort(a);x.sort(b);System.out.print(x.equals(a,b));}}( 163 byte ) Và bằng cách chuyển đổi nó thành Java 8, class g{public static void maincũng có thể interface g{static void main, nhưng tôi đoán Java 8 đã không Vào khoảng năm 2011, vì vậy việc giữ gìn classcũng tốt. ; p
Kevin Cruijssen

4

sed, 45 ký tự

Nó thậm chí có thể trong yêu thích của tôi - sed! Chỉ cần một biểu thức thông thường để giải quyết đảo chữ ! Chỉ cần tiếp tục loại bỏ các chữ cái tương ứng:

:
s/(.)(.*,.*)\1/\2/
t
/\w/{i\false
d}
i\true

(được gọi với -nE)

Perl, 48

1while s/(.)(.*,.*)\1/\2/;$_=/\w/?"false":"true"

Được viện dẫn với -p.

Hàm Perl, 39

sub f{$,while s/(.)(.*,.*)\1/\2/;!/\w/}

4

APL, 2 ký tự

≡⍦

Đây là chức năng Multiset Match từ Nars2000 , một trong những triển khai APL hàng đầu. Khi áp dụng cho chuỗi, nó tính toán chính xác chức năng cần thiết:

      'elvis' ≡⍦ 'lives'
1
      'alec guinness' ≡⍦ 'genuine class'
1

Chỉ tò mò, có bao nhiêu byte? 4? 6?
Maltysen

Nó phụ thuộc vào mã hóa. 6 byte trong UTF-8, 4 byte trong UCS-2, 2 byte nếu bất kỳ bộ ký tự APL byte đơn kế thừa nào có ký hiệu, điều mà tôi nghi ngờ.
Tobia

4

05AB1E , 6 4 byte (không cạnh tranh)

{I{Q

Hãy thử trực tuyến!

Điều này mất một thời gian vì những khó khăn đầu vào. Chơi golf xuống do pop.

Giải trình:

{I{Q    Original code

{       Takes first input e.g. word and sorts -> 'dorw'
 I      Takes second input e.g. 'wrdo'
  {     Sorts second input -> 'dorw'
   Q    Compare if sorted 1 = sorted 2, then print result. 'dorw' = 'dorw', so prints 1.

1
Vì 05AB1E mới hơn thử thách này, câu trả lời này không cạnh tranh.
Loovjo

Xin lỗi - đã không nhận ra.
Geno Racklin Asher

4

Perl, 77 75 ký tự

I / O của vấn đề không được chỉ định rõ; Điều này đọc hai dòng từ stdin và xuất ra đúng hoặc sai cho thiết bị xuất chuẩn.

sub p{join'',sort split'',$a}$a=<>;$x=p;$a=<>;print$x eq p()?"true":"false"

(Cảm ơn Tim vì 77 -> 75)


Có gì đó không đúng ở đây. $a=;? Ngoài ra, bạn có thể bỏ qua các parens của sortvà không gian sau print.

@Tim, thiên tài đã phát triển nền tảng này để chia sẻ mã qua mạng đã quyết định rằng trong các khối mã, mọi người phải thoát ít hơn các ký tự. Nhưng này, không có vấn đề gì lớn cả: không phải ai cũng sử dụng chúng trong mã, phải không? Tiếp tục bắt tôi ra.
Peter Taylor

2
Ok, tôi đã gỡ bỏ downvote. Bạn có thể muốn sử dụng định dạng mã trong tương lai, tức là mã thụt lề có bốn khoảng trắng.

1
Ok, do đó, có ba cách định dạng mã (một nội tuyến và hai khối) và cả hai cách khối đều bất tiện theo các cách khác nhau. Thở dài.
Peter Taylor

4

Perl, 62 byte

Hàm này lấy các chuỗi làm đối số và trả về true hoặc false.

sub f{my@a;for$.(1,-1){$a[ord]+=$.for split//,pop}!grep{$_}@a}

Lưu trữ các giá trị ASCII trong một mảng và kiểm tra xem nó có phát hiện ra không. Tăng cho từ đầu tiên và giảm cho từ thứ hai.


4

Trăn 3, 107 97 76 64

s=sorted;a,b=input().split(', ')
print(str(s(a)==s(b)).lower())

Rõ ràng điều này có thể được rút ngắn nếu chúng ta không hiểu từ ngữ của OP theo nghĩa đen và chữ thường "đúng" và "sai" ...


Bạn có thể tắt một vài ký tự nếu bạn thêm ;s=sortedvào dòng đầu tiên và sau đó thay thế hai trường hợp sortedbằng strong dòng thứ hai. Có nên lưu ... 3 ký tự?
Alex Van Liew

1
Thật. Python 3 cũng tiết kiệm một chút dung lượng và có lẽ là hợp lý để sử dụng ngay bây giờ, 5 năm sau khi câu trả lời này được đăng. Ngoài ra, .strip () là dự phòng, với các đầu vào được chỉ định.
Wooble

Ừ, xin lỗi. Tôi không nhận thấy câu hỏi này bao nhiêu tuổi khi tôi bình luận, chỉ có điều nó ở trên trang nhất. ^^;
Alex Van Liew

4

Python, 32 byte

p=sorted
f=lambda a,b:p(a)==p(b)

Không có gì trong trăn. Bạn có chắc chắn đó là một chương trình hoàn chỉnh nhận đầu vào và tạo đầu ra theo yêu cầu?
Tomas

1
@Tomas Đó là một chức năng
TuxCrafting

4

Bash, 88 ký tự

diff <(grep -o .<<<$1|sort) <(grep -o .<<<$2|sort)>/dev/null && echo true || echo false

4

R , 54 byte

function(x,y,`~`=sort,`+`=utf8ToInt)identical(~+x,~+y)

Hãy thử trực tuyến!


Tôi rất thích thú với việc bạn sử dụng utf8ToInt, không chỉ trong câu trả lời này, mà còn ở nhiều người khác mà tôi đã thấy.
Sumner18

1
Bạn đã thấy những lời khuyên cho việc chơi golf trong R ? utf8ToIntvà ngược lại của nó có xu hướng tạo ra sự phân tách chuỗi ngắn hơn các hàm thông thường.
J.Doe

3

Scala trong REPL (32)

readLine.sorted==readLine.sorted

Hàm Scala (43)

def f(a:String,b:String)=a.sorted==b.sorted

Chương trình Scala (61)

object A extends App{println(args(0).sorted==args(1).sorted)}

Các đòn bẩy này tạo ra một tính năng gọn gàng của Scala, theo đó Chuỗi cũng có thể được coi là một chuỗi các ký tự ( Seq), với tất cả các thao tác Seqcó sẵn.


3

APL - 13 ký tự

{(⍺[⍋⍺])≡⍵[⍋⍵]}

Gọi như thế này:

      'boat' {(⍺[⍋⍺])≡⍵[⍋⍵]} 'baot'
1
      'baot' {(⍺[⍋⍺])≡⍵[⍋⍵]} 'boat'
1
      (,'a') {(⍺[⍋⍺])≡⍵[⍋⍵]} 'aa'
0

Trong ví dụ cuối cùng, 'a'biểu thị một ký tự đơn và tiền tố ,sẽ chuyển đổi nó thành một chuỗi.


3

Java (134 byte)

int[][]c=new int[2][26];
for(int i=0;i<2;i++)for(byte a:args[i].getBytes())c[i][a-97]++;
System.out.print(Arrays.equals(c[0],c[1]));`

Điều này tạo ra một mảng để đếm số lần mỗi chữ cái xuất hiện, và sau đó so sánh các mảng để kiểm tra xem chúng có bằng nhau không.


1
Chào mừng đến với PPCG! Bài đăng đầu tiên rất hay! Có 2 khoảng trống bạn có thể xóa (c[0], c[1])for (int i=0;.
Rɪᴋᴇʀ

3

JavaScript, 41

Hàm so sánh (41) :

a=b=>''+[...b].sort()
b=(c,d)=>a(c)==a(d)
alert(b('abc', 'cba')) // true

Hàm so sánh (21) :

a=b=>''+[...b].sort()
alert(a('abc') == a('bca')); //true

Hàm so sánh (48):

function a(b){return String(b.split('').sort())}
alert(a('abc')==a('bca')); //true

Hàm so sánh (78):

function a(b,c){return String(b.split('').sort())==String(c.split('').sort())}
alert(a('abc','bca')); //true

Giả định Stringđã splitArrayđang có sort.


38 byte:c=>d=>(a=b=>''+[...b].sort())(c)==a(d)
Shieru Asakoto
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.