Problem Statement
Two flowers are considered adjacent if they are in the same column, or if they are next to each other in the same row. Your goal is to produce a garden in which no pair of adjacent flowers shares the same color. You may rearrange the flowers in your garden arbitrarily (without changing its shape). More precisely, you may swap any two flowers in your garden, and you may do so arbitrarily many times.
If the goal can be reached, return a
Definition
- Class:
- ColorfulGarden
- Method:
- rearrange
- Parameters:
- String[]
- Returns:
- String[]
- Method signature:
- String[] rearrange(String[] garden)
- (be sure your method is public)
Constraints
- garden will contain exactly 2 elements, inclusive.
- Each element in garden will contain between 1 and 50 characters, inclusive.
- Each element in garden will contain the same number of characters.
- Each character in garden will be a lowercase letter ('a'-'z').
Examples
{"aa", "bb"}
Returns: {"ba", "ab" }
Swapping garden[0][1] and garden[1][1] produces a valid garden.
{"xxxx", "xxxx"}
Returns: { }
No matter what we do, we will end up with the same result, and that is not a valid solution.
{"abcd", "abcd"}
Returns: {"abcd", "dcba" }
{"abcdefghijklm", "nopqrstuvwxyz"}
Returns: {"abcdefghijklm", "nopqrstuvwxyz" }
{"aaa", "aab"}
Returns: { }
{"acaacaabaaaaaaacbbcbabacabbabbcaabbbbcabbbcacacbca","bbabbaaabbcccbbbccabbbbaaabaaccacbbabbcbcbcccaabbb"}
Returns: {"babababababababababababababcbcbcbcbcbcbcacacacacac", "abababababababababababababcbcbcbcbcbcbcbcacacacaca" }
{"cbabaaaaaaaaaaccabbcaacaaacacaaaacaabccaacacaabca","acbbccaccbbbbbbbbaabcabbcbcabaaacccbaacbcbacbbbbc"}
Returns: {"acacacacacacacacacacabababababababababababcbcbcbc", "cacacacacacacacacacacabababababababababababcbcbcb" }
{"baaaaaaaccbaaacaaccaacaabaacbcabacbcaabaaacaacaacb","abccabbbcaaacacaaacabbbbcbbcacaccbaacabacaabccbbcb"}
Returns: {"acacacacacacacacacacacacacabababababababababababcb", "cacacacacacacacacacacacacabababababababababababcbc" }
{"acbaacaacaccababcaacbbbbabaaacaaaaaabbaaabaaacbbaa","cacbbacabacccccaccbbacbbacabbccbccbaaabaacbcccaaab"}
Returns: {"acacacacacacacacacacacabababababababababababcbcbcb", "cacacacacacacacacacacacabababababababababababcbcbc" }
{"aabbaacaaabaaacaccaaaaacaabaababaaaaacaabcacaccaaa","cababacccbabbcacaacbcacccabbcbcabccbccccaaccbabcba"}
Returns: {"acacacacacacacacacacacacacacababababababababababcb", "cacacacacacacacacacacacacacacabababababababababcbc" }
{"abaacccaacacabcaaccbbbaaaababcabaccaabcaaabbacbba","acaaaabbabaacabcaababaacbabbccbbabbcabbbccaabccaa"}
Returns: {"ababababababababababababacacacacacacacacacacbcbcb", "bababababababababababababacacacacacacacacacacbcbc" }
{"bbaccaabaaabbbacbcaabbabaccaaaabcacaabcacacaaabaa","acbbcacacbababcbaaababbbbcbabccbcbbcbbacaacccacbb"}
Returns: {"abababababababababababacacacacacacacacacbcbcbcbcb", "babababababababababababacacacacacacacacbcbcbcbcbc" }
{"aaabbbccabbbaabaaccccbcbbbcaacbcabacccacaabbcbabaa","baacccacacbacacbbabbcccccbaaacbacacbbcabcbcccccaab"}
Returns: {"cacacacacacacacacacacbcbcbcbcbcbcbcbcbabababababab", "acacacacacacacacacacbcbcbcbcbcbcbcbcbababababababa" }
{"cbaaaabbaabcbaacbbbbcbaacaabababaaababcaaaaccaacc","cccccbabcbbbbbababcaabcababaabbbacbaabbbcaaabcaac"}
Returns: {"abababababababababababababacacacacacacacacbcbcbcb", "babababababababababababababacacacacacacacbcbcbcbc" }
{"acbaacbcaaaaaaabbcaababcaaaabaaaaabbcaaaacbbaccaa","bccccccbbaaaaacbbabbacbcbccbbccabbaaacbccaccbbccb"}
Returns: {"acacacacacacacacacacabababababababababababcbcbcbc", "cacacacacacacacacacacababababababababababcbcbcbcb" }
{"abaacaaaaabbaaabaaabaabbaacaaabcccaabbbccaabcaacbc","aaacccabbbacaaabbaabaabccaabaababcccbaaccaaabbcbab"}
Returns: {"ababababababababababababababacacacacacacacacacacac", "babababababababababababababacacacacacacacacacacaca" }
{"abcbabaaacaccbacbccaabcaaccabaabbaaaaababcaaaabca","acccaaabacbaacaaacbabaccaaaabbbaaaaccacabcbccbbbc"}
Returns: {"acacacacacacacacacacacacababababababababababababc", "cacacacacacacacacacacacacabababababababababababcb" }
{"bbcabaaaccacacbcaabbbaababaaababaaabaaaaccacbcbbbb","bcacbcaaabaacccbcbcacaaacabaabbcacbbaacccacaaaabab"}
Returns: {"ababababababababababababacacacacacacacacacacacbcbc", "babababababababababababacacacacacacacacacacacbcbcb" }
{"acaaacbbacaacaacbababbbcbabbacabaaabcccaacaaaaaca","cbcaabcabaccbcccaaaacababcaabbacaaaacacaacbaaccac"}
Returns: {"acacacacacacacacacacacacacacababababababababababc", "cacacacacacacacacacacacacacababababababababababab" }
{"abaabbaacbbcbaaacbaacccbcaababaacbabbcacbaaacbbcb","caaacaacabbaaabaaacccabbaababaabaccacccacababcaac"}
Returns: {"abababababababababababacacacacacacacacacacacacbcb", "babababababababababababacacacacacacacacacacacbcbc" }
{"aacabbacaccaccbacccbcbbaaacccabbccbaabcbaababaaaa","bcbaaacaaaaaacaaaacaabcabaaaaacabcaaaabccccababbc"}
Returns: {"acacacacacacacacacacacacacabababababababababababc", "cacacacacacacacacacacacacacababababababababababab" }
{"abbbccccabaaccaccabaacaabacaaaaaaaccabbacccabaaab","cabccacbacaccaacacabaabbaaaaaaaaacabcaaaacbaaabaa"}
Returns: { }
{"bccbcccbcaaaccacbaaacacacccbbaccbacccacaabaaabcca","baabcaccaacaacabaacaacaaaabbacabcacbcaaabaacbcaba"}
Returns: {"acacacacacacacacacacacacacacacabababababababcbcbc", "cacacacacacacacacacacacacacacababababababababcbcb" }
{"caabacacaabbaaccbaaaabacaaaacbbcacaaaacbacabaaaaa","ccccbccccbaccabaacaaaaacbcbccbabcabaacabacccbabaa"}
Returns: {"acacacacacacacacacacacacacacababababababababababc", "cacacacacacacacacacacacacacacabababababababababcb" }
{"bacaaababbbaaacababaaacaaaaaaaaacaabbababbacacabab","cabccbacacacaabbcbbbbaabaacbcaaabaccaacbbcaacccaaa"}
Returns: { }
{"aaacababbbaaaacbbcabbbbbcacacbbbbcabcacbaabcaacbbb","babcbaacbbcabbaababcacababbbcabcbcbbabaacbaaabbaab"}
Returns: {"babababababababababababababababcbcbcbcbcbcbcacacac", "abababababababababababababababcbcbcbcbcbcbcacacaca" }
{"bcccaaaaabcaaabbbbbccaababaabbbbaabacbbabbcbaaaba","abaabaaababaaaabcbaacbaaabbbabbabbaacaaacaaaaaccc"}
Returns: {"abababababababababababababababababacacacacacacaca", "bababababababababababababababababacacacacacacacac" }
{"bbbbabaccababaabbbbbaabbcbbbbbcbacaacaaabaaccaabb","ababccbbbcbaacababbbababaabaabbbcbabcabbbbbaaacbc"}
Returns: {"bababababababababababababababababcbcbcbcbcbcbcbca", "abababababababababababababababababcbcbcbcbcbcbcac" }
{"bbbbbbabaaccbbabbbaabacabbbcbabbcabbabbbaacaaabaaa","acbbcababaacbcabcaacaccbbbbabaabaaababbbbbcaacabca"}
Returns: {"bababababababababababababababababcbcbcbcbcbcacacac", "abababababababababababababababababcbcbcbcbcbcacaca" }
{"bccbabcbbbabaababbbabbbbabababcbcbaabbaababcbcbabc","abbabaaabbbbaabcacbbabbabbaacbcbabbacabbbbbbaacabb"}
Returns: { }
{"abbaaacabbccabaaabaaabaabaacbbbbbabbbacaaaabbaacaa","acababaababbaaaababbabbaaaaabacbacbabbabcaabbabcca"}
Returns: { }
{"babbabbcbbbbaccbaabaaaaaaababcabbaaaaababcbbbaaaab","caabaacaaaabcabaaabbacaaaccacabcbbaabbccbabbbbcbab"}
Returns: {"abababababababababababababababababacacacacacacbcbc", "bababababababababababababababababacacacacacacacbcb" }
{"bcabbbbbbabaabcaacabbbbbbacabbcabbabbbabbabaacaba","baaacbaaabaacabaabbcacabbbaaaabababcbaaabbbaaabba"}
Returns: {"babababababababababababababababababababcbcbcacaca", "abababababababababababababababababababcbcbcbcacac" }
{"abbabaabbbacbbcbabacbbaabaabbaabbcacabacbabaabaaba","aabbaabbaabbbcbaaabbbbcababacbaaaacbbabcabacabbbca"}
Returns: {"bababababababababababababababababababcbcbcbcacacac", "abababababababababababababababababababcbcbcbcacaca" }
{"cbbbcbcaaaabcbabbbabaaaabaacccacabcbaabaabbacaaab","aaaababcbaaacabaaaacbacbccacbcbbbcbcacbaacaabaaaa"}
Returns: {"abababababababababababababacacacacacacacacacacbcb", "babababababababababababababacacacacacacacacacacbc" }
{"baabbaabbbaa","aaaaabaabacc"}
Returns: { }
{"abaaaaaaabaca","bbbaacaaacaac"}
Returns: { }
{"bbcabacaaaaaabbcccaaaaababbaabaacccaaabb","bababacbbabbabbccccbcaacbcbcaaaabacbabbb"}
Returns: {"abababababababababababacacacacacacbcbcbc", "bababababababababababacacacacacacacbcbcb" }
{"baabcacbbcaaacbbaba","bbbabbaabaabbbacbac"}
Returns: {"bababababababcbcbca", "abababababababcbcac" }
{"abbac","bbbcb"}
Returns: { }
{"abcababbbbabbacabbcabbb","cbacbababbabacaabaaaabc"}
Returns: {"bababababababababcbcbca", "ababababababababcbcbcac" }
{"abacbbabaacb","bbbaaaaabbcb"}
Returns: {"bababababcbc", "abababababca" }
{"cbaaabacabbbaabbbbabbacbbbabbaabbbacbbcaabc","baaaacbaaacaabbabbbbbbcaacacbbaaacbcaaabaaa"}
Returns: {"abababababababababababababababacacacacbcbcb", "bababababababababababababababacacacacbcbcbc" }
{"cbbbbcababbcaaabbb","aaaabbabaaabaaabbb"}
Returns: {"babababababababcbc", "ababababababababca" }
{"cbaabcaabbbbcbbacbbcabcbcab","baaaabaacaaaacbaabaabbaaabb"}
Returns: {"abababababababababacacacbcb", "bababababababababacacacacbc" }
{"a","d"}
Returns: {"d", "a" }
{"abaa","bdbc"}
Returns: {"babc", "abda" }
{"bbbaaaba","dcbbcccb"}
Returns: {"bcbababd", "cbcbabac" }
{"abaabababaaeaeaaababeababbbbbbabbaabaaba","bbbdccbccccbbbccbccccbbcdbbbbbccccccbcbb"}
Returns: {"bcbcbcbcbcbcbcbababababababababababececd", "cbcbcbcbcbcbcbcbabababababababababacecdc" }
{"abeebebaeabababbaebabe","bbbdcdcbbbcbcbcdbbbbdc"}
Returns: {"babababebebebcbcbcbdbd", "abababebebebcbcbcbdbda" }
{"aeaabbaaaaabbabbaabaaaaeaabaabeaaaaabbb","ccbbcbcddccccbbbbcdccdbcdbccbdccbbdbccc"}
Returns: {"babababababcbcbcbcbcbcbcbcacadadadadaea", "abababababcbcbcbcbcbcbcbcacacadadadaeae" }
{"aabaaeabbaabababebaebbeaebeaabbbabbbeebabb","cbcbdbbcbcccbbcddcdbbbbddccbcbccccbbbbcbcc"}
Returns: {"bcbcbcbcbcbcbababababababababebebebebdcdcd", "cbcbcbcbcbcbcbabababababababebebebebdcdcdc" }
{"bebebeaabeaaebaabbaaebbebaababbbaeeae","bdcbbdcdcdbbbddcccccccccbcccccdccbcbd"}
Returns: {"bcbcbcbababababababebebecececdcdcdcdc", "cbcbcbabababababababebececececdcdcdcd" }
{"abbbaaabbabbbabeaaaaaabeabaababab","dccbdcbdbcbbccbcbdcbccdbdccbcbcbd"}
Returns: {"babababababcbcbcbcbcbcbcbdadadaea", "abababababcbcbcbcbcbcbcbdbdadadae" }
{"aeaabbeaaaaaaabababbaa","dbdcbbbddccdcdbbbdcdcc"}
Returns: {"ababadadadadacbcbcbcbe", "bababadadadadacbcbcbeb" }
{"jcbvycprznldcjtkgufzfbkhuujflvwq","pfxbmwphswbhjkrimszwrhdaboyzepwz"}
Returns: {"zuzrzkwkwcbybvbspmpljdjxhqhnfgfa", "uzrzrwkwcwcbybvpspmjljdhthofifeu" }
{"kiolevml","irrrvovj"}
Returns: {"vlvirkoe", "lvirmrjo" }
{"vfnowuoefxzcoofzfuwtva","uemhavrdnybalvxzeogkzf"}
Returns: {"oeoaoxfwfnzyzrvlvhudub", "eoaoafxfwfnztzmvkvguce" }
{"vfsjutsxvknegbkrtealgogjyfimdhbbubjbtmr","fpfezbmuncvqvdxapbhxhbvscnmspbjndwfjows"}
Returns: {"bububtbpbpvhvgsgsesdjdjwfrfofkncnamymlx", "xbubtbtbpvhvhvgsesejdjwjrfofkncnamzmqxi" }
{"vzmqawdteztbasskamqvzspoiitikwsuohmprm","zgbiuqwpicpysgoqzfzrcjqwitztbsccrdyqqr"}
Returns: {"zpzpzmzmqcqcqososbsaiaiyivtutktgwdwhre", "rzpzpzmqmqcqcqosbsbsaiyiviutktgwdwjrfr" }
{"eccbohzyltvcoiwvqjrefsyaovcuzrvmbbasglm","mwqbaotcfemgphwquizblawuiswenhbxhugypxd"}
Returns: {"bababzwzwywscscqvlvluiugogoxmtmrhphfeje", "ebababzwywycscqcqvlviuiugoxotmrmphfhned" }
{"ayiebwobyurvgjebtixkcqhjiwsonwl","iciievnnawyqakcdqiomvjucybpupib"}
Returns: {"iqioioinbjbjbeyayawpwkctcrvlugu", "qiqioininbjbeyeyawpwkcxcsvmvhud" }
{"lvmbwtgk","qlegbugn"}
Returns: {"gugqlmbe", "vgtlnbkw" }
{"lufhoerpzdyoupepdyfmpfxu","yarfiwfccrqiwdzxeeleyaha"}
Returns: {"fdfafaezexywyoplpiuhucrm", "dfdfaezexewyoylpiphucrqr" }
{"mukffgeow","ugnuftcaf"}
Returns: {"ftfnukucg", "wfofmuega" }
{"aaabb","bbbcc"}
Returns: {"babcb", "ababc" }
{"aaasdasdasdsafsdfsadasabaaasdasdasdsafsdfsadasab", "aaasdasdasdsafsdfsadasabaaasdasdasdsafsdfsadasab" }
Returns: {"asasasasasasasasadadadadadadadadadadsfsfsfsfsbsb", "sasasasasasasasadadadadadadadadadadafsfsfsfsbsbs" }
{"ab", "bc" }
Returns: {"ba", "cb" }
{"aab", "bbc" }
Returns: {"bab", "abc" }
{"ab", "cb" }
Returns: {"ba", "cb" }
{"aaaac", "bbbbc" }
Returns: {"babca", "ababc" }
{"abb", "bbc" }
Returns: { }
{"aa", "bb" }
Returns: {"ba", "ab" }
{"accc", "bbbb" }
Returns: {"bcba", "cbcb" }
{"acc", "bbb" }
Returns: {"bcb", "cba" }
{"abb", "bcc" }
Returns: {"bcb", "cba" }
{"ls", "sw" }
Returns: {"sl", "ws" }
{"abbb", "bccc" }
Returns: {"bcba", "cbcb" }
{"aba", "bab" }
Returns: {"bab", "aba" }
{"bbb", "acc" }
Returns: {"bcb", "cba" }
{"abcc", "abcc" }
Returns: {"cbca", "bcac" }
{"ab", "cc" }
Returns: {"ca", "bc" }
{"aaa", "ccc" }
Returns: {"cac", "aca" }
{"ecacabacaabcddeecba", "cceaceddaccdbcbaaea" }
Returns: {"cacecececdcdadababa", "acacecececdadababab" }
{"aabb", "bbcc" }
Returns: {"bcba", "cbab" }
{"addb", "bcbb" }
Returns: {"bdba", "dbcb" }
{"aaaaaccccc", "bbbbbbbbbb" }
Returns: {"bcbcbababa", "cbcbcbabab" }
{"abb", "bcd" }
Returns: {"bcb", "dba" }
{"aab", "bcc" }
Returns: {"cab", "bca" }
{"dde", "eaa" }
Returns: {"ead", "dea" }
{"aaab", "bbcc" }
Returns: {"babc", "abca" }
{"aaab", "bbbc" }
Returns: {"babc", "abab" }
{"abcdef", "gggggg" }
Returns: {"gegcga", "fgdgbg" }
{"abbbb", "bcccc" }
Returns: {"bcbcb", "cbcba" }
{"aaa", "bbb" }
Returns: {"bab", "aba" }
{"ac", "bb" }
Returns: {"ba", "cb" }
{"xxxx", "xxxx" }
Returns: { }
{"abc", "abc" }
Returns: {"cab", "bca" }
{"accd", "cbdc" }
Returns: {"cdca", "dcbc" }
{"aabb", "cccc" }
Returns: {"cbca", "bcac" }
{"abb", "bac" }
Returns: {"bab", "abc" }
{"aaaaa", "bbbcc" }
Returns: {"abaca", "babac" }
{"aaaaabb", "bbbcccc" }
Returns: {"babcbca", "ababcac" }
{"babbcbcaab", "cbcbcabbba" }
Returns: {"bcbcbababa", "cbcbcbabab" }
{"aacc", "bbbb" }
Returns: {"bcba", "cbab" }
{"abb", "cbd" }
Returns: {"bcb", "dba" }
{"babc", "abab" }
Returns: {"babc", "abab" }
{"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" }
Returns: {"zazazazazazazazazazazazazazazazazazazazazazazazaza", "azazazazazazazazazazazazazazazazazazazazazazazazaz" }
{"aaaaaacc", "bbbbbbcd" }
Returns: {"bababcad", "ababcbca" }
{"abcd", "xxxx" }
Returns: {"xcxa", "dxbx" }
{"acbb", "acbb" }
Returns: {"bcba", "cbab" }
{"aaa", "bbc" }
Returns: {"aba", "bac" }
{"ababa", "babcc" }
Returns: {"babca", "ababc" }
{"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccca" }
Returns: { }
{"a", "a" }
Returns: { }
{"ls", "ww" }
Returns: {"wl", "sw" }
{"aaa", "bcd" }
Returns: {"aca", "dab" }
{"aab", "ccc" }
Returns: {"cac", "acb" }
{"acd", "cbc" }
Returns: {"cbc", "dca" }
{"acbc", "bbcb" }
Returns: {"bcba", "cbcb" }
{"aaaabb", "bbcccc" }
Returns: {"cbcaba", "bcacab" }
{"accb", "cbdc" }
Returns: {"cbca", "bcdc" }
{"abbc", "abbc" }
Returns: {"bcba", "cbab" }
{"assds", "asdas" }
Returns: {"sasds", "asasd" }
{"acc", "cab" }
Returns: {"cac", "acb" }
{"aacc", "bcbb" }
Returns: {"cbca", "bcab" }
{"aaaac", "bbbde" }
Returns: {"abadb", "baeac" }
{"aabcdef", "aaghijk" }
Returns: {"agaekci", "hafadjb" }
{"abc", "ddd" }
Returns: {"dbd", "cda" }
{"aaac", "bbbc" }
Returns: {"babc", "abca" }
{"abcc", "ccdd" }
Returns: {"cdca", "dcbc" }
{"abac", "cabb" }
Returns: {"babc", "abca" }
{"x", "y" }
Returns: {"y", "x" }