Statistics

Problem Statement for "CompanyMessages"

Problem Statement

Character j in element i (both 0-based) of messages denotes how many messages employee i sent to employee j. You will return a int[] containing the hierarchy of the employees within the company. Element 0 is the highest ranked employee, and so forth. The returned ranking should minimize the number of messages sent from lower ranked employees to higher ranked employees. If multiple solutions are possible, return the one with element 0 minimal. If there are still ties, minimize element 1, etc.

Definition

Class:
CompanyMessages
Method:
getRank
Parameters:
String[]
Returns:
int[]
Method signature:
int[] getRank(String[] messages)
(be sure your method is public)

Constraints

  • messages will contain between 2 and 15 elements inclusive.
  • Each element of messages will contain exactly N characters, where N is the number of elements in messages.
  • Each character in messages will be a digit ('0'-'9').
  • Character i in element i of messages will be '0'.

Examples

  1. { "09999999", "00999999", "00099999", "00009999", "00000999", "00000099", "00000009", "00000000" }

    Returns: {0, 1, 2, 3, 4, 5, 6, 7 }

  2. { "00000999", "00000099", "00000009", "00909999", "00090999", "00009099", "00000000", "09999990" }

    Returns: {0, 1, 3, 2, 4, 5, 7, 6 }

  3. { "044444", "404444", "440444", "444044", "444404", "444440" }

    Returns: {0, 1, 2, 3, 4, 5 }

  4. { "044454", "404434", "140444", "443044", "244404", "443440" }

    Returns: {0, 2, 3, 4, 1, 5 }

  5. { "010", "001", "110" }

    Returns: {2, 0, 1 }

  6. { "010", "001", "100" }

    Returns: {0, 1, 2 }

  7. { "010", "000", "110" }

    Returns: {2, 0, 1 }

  8. {"037378264741269","608321397555194","320284337160965","274065162296296","030205496239983","389740079301215","510995070625090","710315206239674","786923440930541","282335304020793","808788366101359","333248279380605","706619879292078","487354807642106","966542903176810"}

    Returns: {11, 12, 10, 8, 6, 0, 9, 5, 3, 1, 2, 4, 7, 13, 14 }

  9. {"088899041422177","005962325059238","560186195321036","881029431945692","444706389008113","205510258546025","504220032219435","811544700096261","644305340087306","959613619083881","701455664400090","437680854140295","374848502653033","490623247267702","368817114396100"}

    Returns: {9, 12, 0, 2, 13, 1, 4, 8, 7, 14, 3, 5, 11, 10, 6 }

  10. {"045332379296130","000722640793999","950794339160807","012050212651350","321405522403491","267880364604071","715836053199517","160424705281821","766547210653720","250321394037729","213119596901891","596509196570363","777061547552011","145005670669102","801534346752950"}

    Returns: {6, 11, 2, 1, 14, 0, 10, 8, 5, 3, 4, 13, 9, 7, 12 }

  11. {"026949599995011","706271370551596","180923057252280","008049503919451","596104881633701","776500345832291","197506055004379","761437509628039","691429130449346","811691049099009","137124363403773","652806217950359","491783545797036","822909976758004","225299092507700"}

    Returns: {12, 4, 13, 0, 6, 2, 7, 8, 3, 11, 5, 1, 9, 10, 14 }

  12. {"088644017560388","605728488071218","500945686874656","282027109175589","133405493112860","569680191359814","349038030545315","059670604465298","168004530720154","943593929008804","872749911508932","710379213160993","063491435657017","997605976046301","044328819632130"}

    Returns: {7, 2, 10, 9, 11, 0, 4, 3, 13, 12, 1, 14, 8, 6, 5 }

  13. {"022344348594398","103995818101055","340277473173086","081005625687490","426507986406411","884180421527676","938291030857179","683174104733561","130726830553886","571875162067461","525826464001309","407434111170151","938348667054085","766291975027705","378635621435410"}

    Returns: {9, 12, 2, 0, 8, 10, 14, 3, 7, 5, 13, 1, 4, 6, 11 }

  14. {"094856802426175","104212786518508","080003890906920","238067546364936","331404776675671","764360112954476","011586079019586","475708505732939","949507220997459","007026203045657","892256672909758","353481393890255","612558967464002","760573073351102","767179375149880"}

    Returns: {3, 4, 8, 10, 14, 0, 2, 1, 12, 6, 11, 7, 5, 9, 13 }

  15. {"000085690057133","105915398796004","880438345683004","409041263895846","323201872797524","080590325969396","313240014504544","871664407104288","295931460851473","723529306090437","159669987001231","251859799290811","281969486288020","255219909913601","631393163358600"}

    Returns: {13, 2, 14, 12, 0, 5, 1, 11, 8, 3, 4, 9, 10, 7, 6 }

  16. {"070237172680002","906547320700649","330108523244883","954042678453654","223701063994379","346100339667133","558992078085127","041997604657235","472554990082255","201900605014431","704251074709223","199004859260654","351516708777082","334949860128300","864556422616900"}

    Returns: {6, 4, 3, 11, 8, 1, 14, 2, 12, 13, 0, 7, 5, 10, 9 }

  17. {"082762160415203","803167153787421","350399709950367","001069510430389","084505366365938","014260436921580","827716006444847","439953402993490","653410010027301","387409092022034","583509948309068","066638068010891","636309727557064","441862151328008","619975634299110"}

    Returns: {7, 2, 4, 12, 10, 6, 9, 13, 14, 8, 0, 1, 11, 3, 5 }

  18. {"01476367","50511352","93039766","46206946","71170805","47464074","31017801","88715210"}

    Returns: {2, 3, 5, 7, 1, 0, 6, 4 }

  19. {"0499208","0015020","9700110","0740719","3740033","2702701","0203410"}

    Returns: {5, 0, 3, 6, 4, 2, 1 }

  20. {"01197605403929","50251088657085","92057900348427","71509650702767","44340870760584","60724057019660","79271202929157","60287120530513","41619412060588","21106414509777","01404784600483","16938931853059","45058499741202","81279965035740"}

    Returns: {6, 1, 2, 9, 0, 10, 7, 3, 11, 8, 13, 4, 5, 12 }

  21. {"021393","806565","980523","089056","799705","349420"}

    Returns: {4, 3, 5, 2, 1, 0 }

  22. {"063818472560777","605513637221755","140359185674639","891092720530521","854009805504856","735560771935168","946259077386501","150526604197158","282985480163034","634937126082720","964335324301979","887659356150048","726751307259072","091971170086608","984537595957970"}

    Returns: {4, 14, 6, 9, 12, 11, 0, 2, 8, 5, 13, 7, 3, 10, 1 }

  23. {"08443902","90072147","15050012","75407943","47350799","07151073","74341104","03449640"}

    Returns: {3, 4, 6, 0, 7, 5, 2, 1 }

  24. {"028466","203651","910866","324040","248605","100850"}

    Returns: {0, 1, 4, 2, 5, 3 }

  25. {"09579837898559","30408451205870","45045360908815","15402445417678","33120333593183","90050045581423","60481408836813","88360670768208","02436410098415","40303976106835","32355731950834","79974596255038","79354794153204","63259614403350"}

    Returns: {11, 12, 6, 7, 0, 2, 3, 8, 9, 13, 1, 10, 4, 5 }

  26. {"03126","50797","33001","03508","15620"}

    Returns: {1, 0, 3, 4, 2 }

  27. {"040219507094201","606884637822836","190975013606299","935030698305368","133405651899896","794580388162925","025918037074222","536798908615538","020481950898700","286460757062507","409559328009967","557497680660624","658977091692052","251568603401505","062446545802010"}

    Returns: {10, 11, 12, 7, 2, 13, 5, 1, 3, 0, 14, 8, 4, 9, 6 }

  28. {"08251860","60282384","88046282","61300393","47680291","57612071","10325001","32849410"}

    Returns: {7, 4, 5, 2, 0, 1, 3, 6 }

  29. {"007689273414","309663716413","630050806649","949024757983","958007021320","228870233550","400467015520","841288706966","682067870573","345345608060","330552921005","417135926680"}

    Returns: {3, 7, 1, 2, 11, 9, 8, 10, 6, 4, 0, 5 }

  30. {"000", "000", "000"}

    Returns: {0, 1, 2 }

    Here no messages are sent.

  31. {"000", "100", "010"}

    Returns: {2, 1, 0 }

    Person 2 sends a message to person 1 and person 1 sends one to person 0. The hierarchy is clear.

  32. {"03434", "10231", "12039", "92402", "92310" }

    Returns: {3, 2, 4, 0, 1 }

    A lot of messages being sent around.

  33. {"009","401","080"}

    Returns: {0, 2, 1 }

  34. {"068","502","650"}

    Returns: {0, 2, 1 }

  35. {"084","003","480"}

    Returns: {0, 2, 1 }

  36. {"024","000","270"}

    Returns: {0, 2, 1 }

  37. {"080","601","070"}

    Returns: {0, 2, 1 }

  38. {"033","503","170"}

    Returns: {0, 2, 1 }

  39. {"049","902","070"}

    Returns: {0, 2, 1 }

  40. {"095","603","590"}

    Returns: {0, 2, 1 }

  41. {"083","800","350"}

    Returns: {0, 2, 1 }

  42. {"029","201","350"}

    Returns: {0, 2, 1 }

  43. {"057","201","270"}

    Returns: {0, 2, 1 }

  44. {"0256","7054","0906","2890"}

    Returns: {0, 3, 2, 1 }

  45. {"066","601","390"}

    Returns: {0, 2, 1 }

  46. {"06805","00145","19043","09902","48640"}

    Returns: {0, 4, 3, 2, 1 }

    A lot of messages sent around.

  47. {"039","903","190"}

    Returns: {0, 2, 1 }

  48. {"090","002","900"}

    Returns: {2, 0, 1 }

  49. {"08644","90152","27015","39008","88190"}

    Returns: {0, 2, 4, 3, 1 }

  50. {"04972080872","80912595780","05020323528","78609655688","32100329558","46106087965","77779609907","07934660818","73090381026","19652189709","66595590490"}

    Returns: {3, 5, 1, 0, 9, 6, 4, 7, 2, 8, 10 }

  51. {"079505775057","203634986852","760274835791","320097885443","422203888151","391550838059","849303088808","962617004026","425478760499","512700777027","709945268008","696295117730"}

    Returns: {2, 5, 1, 9, 10, 3, 4, 6, 8, 7, 0, 11 }

  52. {"05110971907","80159846326","39069222632","30002503057","18900077125","05233057691","89117509587","98662870099","11813060032","82783623007","11411502600"}

    Returns: {4, 6, 7, 9, 2, 1, 3, 0, 10, 5, 8 }

  53. {"0920332","6015701","1605600","5890183","0550033","6937601","7307360"}

    Returns: {6, 3, 5, 0, 2, 1, 4 }

  54. {"088","104","550"}

    Returns: {0, 2, 1 }

  55. {"0261305581","6069515418","3600989905","2760364826","5681073164","6057003082","4708020104","3813035071","0976435102","2446508290"}

    Returns: {4, 5, 9, 0, 8, 3, 2, 7, 6, 1 }

  56. {"0101751","1074493","0600485","0170764","0630003","9986201","6381640"}

    Returns: {1, 3, 6, 2, 5, 0, 4 }

  57. {"04245614269","00277664707","07031666871","25802327291","47460449552","13706041115","13949201757","63866010763","67451531008","23472522009","01536639050"}

    Returns: {6, 4, 7, 8, 0, 3, 2, 9, 1, 10, 5 }

  58. {"018540","202850","490741","859081","111002","048990"}

    Returns: {5, 3, 0, 2, 1, 4 }

  59. {"04556402","10960131","75067287","70603282","39990795","90996074","15972407","84596210"}

    Returns: {4, 5, 6, 7, 1, 2, 3, 0 }

  60. {"075673322861","407794405068","820762345824","064091261721","977600312482","818170148723","084850029700","974788300226","440717900388","846228079065","704400009300","084733264040"}

    Returns: {6, 9, 7, 1, 5, 4, 2, 8, 0, 11, 10, 3 }

  61. {"0194550263815","4056582772123","3707958421922","2780091273491","2916057836273","8869005042584","8452290142006","5526269031453","7042636502681","6436069510612","3881968016072","7198511767505","1068723485550"}

    Returns: {12, 8, 10, 11, 2, 4, 9, 1, 7, 6, 5, 0, 3 }

  62. {"015438587769119","805901140656905","970071918720351","621024918750060","482406341439892","645040163486216","618703009293076","394089907826351","956017910415360","778314382091284","262401820804052","887107463650267","894220765989055","405663871950503","302119360915400"}

    Returns: {7, 4, 12, 11, 2, 1, 3, 8, 13, 6, 0, 14, 5, 9, 10 }

  63. {"090654586688","200108090289","560928507258","162095616112","690004071795","776810005664","681432013688","255308603171","821093150799","498638876054","699972037405","453503919490"}

    Returns: {9, 2, 0, 3, 6, 8, 4, 1, 7, 5, 11, 10 }

  64. {"04125","30921","94084","85909","36860"}

    Returns: {3, 4, 1, 2, 0 }

  65. {"012105","601745","830479","043086","349904","649810"}

    Returns: {4, 2, 1, 5, 0, 3 }

    A lot of messages sent around.

  66. {"008743622404724","105489833624190","930680240068761","979074493869884","386003858102604","359470806778610","694020043283084","293173509425443","834858060296303","217333805059313","135196399104762","655755510200256","377139416538092","316776897759100","837045150193130"}

    Returns: {3, 14, 10, 7, 12, 1, 13, 5, 9, 4, 6, 8, 2, 11, 0 }

  67. {"063485305054114","701842074341016","400659867073184","962020411334388","941203149050663","284150080455961","544604076509245","487299208053968","865386000833309","698216391017785","623726077506100","604549413030621","010342047469036","530319766679706","983198269492770"}

    Returns: {9, 2, 6, 7, 3, 14, 4, 13, 12, 10, 8, 11, 0, 5, 1 }

  68. {"094485143060423","803266195302666","260939097215909","795096644182565","543809838676534","431310303288141","337465048558930","002885702363429","317945810810957","688232423067994","163428718601092","838617762410287","410874815923007","847810633048007","139700041021120"}

    Returns: {4, 9, 10, 13, 6, 11, 0, 2, 1, 7, 8, 12, 14, 3, 5 }

  69. {"094586536637563","008277635097599","320163892168811","070055680717634","317003277793544","275550570524473","296313007501061","936677609191477","680323990155713","705435040018517","542989520306298","667067472230541","387837487528032","721776101726908","811616903103930"}

    Returns: {7, 0, 8, 1, 2, 10, 13, 3, 4, 9, 14, 12, 11, 5, 6 }

  70. {"023428146875532","000422280404568","230885528447400","454086378222849","967502829956735","023630708332671","541516086073936","447433306523530","519745330690359","081780175092384","129139015706204","895202561260685","402948112813034","567024495286700","706692977414940"}

    Returns: {3, 14, 4, 11, 13, 6, 0, 7, 8, 10, 2, 1, 12, 5, 9 }

  71. {"019484627890662","508208318124926","430620304944708","583001196545531","236009899594675","677550270252071","785368085620289","549236106923590","057313530303564","039016635061336","733750204203816","398321362480606","331449950709051","770674185621206","456789202561000"}

    Returns: {4, 11, 6, 13, 14, 5, 3, 7, 1, 0, 9, 10, 8, 2, 12 }

  72. {"021261232439496","803178030248624","340777474675713","750029639055733","791201598802567","153520300796898","640083037516782","758492801410669","730024460055275","377487069040991","118972278203324","221854582990220","877627820992067","454616175525407","172004611219400"}

    Returns: {9, 10, 7, 2, 3, 6, 4, 8, 1, 5, 12, 0, 13, 14, 11 }

  73. {"031107933993480","606999611856068","550559160389404","350061224907490","454309143678198","021700575572244","458715085582641","093089901663393","065352680114120","672494359046053","146904024700228","586898139500686","544542448475076","584839757101404","870033328055160"}

    Returns: {2, 11, 12, 7, 1, 4, 14, 0, 13, 5, 6, 10, 3, 9, 8 }

  74. {"035017087609419","407893139549890","860999336627005","411090020393066","796406996641564","856280479751059","071262078063917","806182708761634","032995020058381","900998119065716","787310765902896","789307161280955","010686008531056","887652400237103","934085091158850"}

    Returns: {11, 5, 10, 6, 1, 7, 2, 9, 12, 8, 3, 14, 4, 13, 0 }

  75. {"077588190675715","900570371293083","980905345939046","135021618768119","926200267872088","877450035219638","916026031999662","026351808088031","520097620364138","928525286097253","051329552708575","346982900250858","476955865819031","709299853249405","467568046290870"}

    Returns: {12, 6, 9, 13, 5, 2, 1, 0, 7, 3, 8, 11, 4, 14, 10 }

  76. {"045871296082963","604782424862333","570445622766581","538081048236424","171302118242539","762900335612891","894403000181403","436090406594111","046438060448344","006979719082477","593389441803186","327315469300016","988405172351024","154620240333106","875264473151320"}

    Returns: {11, 9, 14, 5, 6, 0, 3, 8, 12, 7, 2, 10, 4, 13, 1 }

  77. {"006612657266798","200507064523487","850424261962987","264069185919819","388000219878751","542520743312484","171238081182161","148392701907873","161351130566952","791040157048789","823924912301343","716809305220389","487979535200038","710951486968902","221748437654360"}

    Returns: {3, 7, 4, 2, 9, 0, 8, 11, 10, 12, 6, 1, 14, 5, 13 }

  78. {"072020831482588","007579025069242","200376033458338","524046240957226","980103134923074","714850939077844","545259039982974","488578003779056","434835710079064","297106467078108","061497331006838","562626241660833","710668085390019","730553033812202","420181020489860"}

    Returns: {6, 12, 7, 9, 1, 2, 5, 8, 3, 0, 10, 14, 4, 11, 13 }

  79. {"002168671507943","404391492472095","200448975160057","906000278005103","776004357828708","659290004302127","599972021132798","823552307125177","980213300440654","547307230031304","538102156204704","819903310570765","470914226089031","781073207482402","499330571019470"}

    Returns: {6, 5, 4, 9, 14, 12, 1, 11, 3, 2, 7, 13, 10, 8, 0 }

  80. {"012805390288681","807437427577584","040998746404648","184024769587102","192707820375869","234830581788800","200739015105874","998992409533062","666880220791508","874390062004534","104895321902665","397912734810163","323408319536036","676204705589900","836698225979780"}

    Returns: {7, 8, 4, 1, 14, 0, 13, 10, 2, 6, 5, 12, 11, 3, 9 }

  81. {"010", "101", "110" }

    Returns: {1, 2, 0 }

  82. {"012345678999999", "102345678999999", "120345678999999", "123045678999999", "123405678999999", "123450678999999", "123456078999999", "123456708999999", "123456780999999", "123456789099999", "123456789909999", "123456789990999", "123456789999099", "123456789999909", "123456789999990" }

    Returns: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }

  83. {"015689376141676", "403594682651129", "680105646216256", "442008029477159", "264009675877046", "905630174648178", "427521020174788", "107482803207299", "492784080512438", "054323880091505", "102839098607317", "648841193460178", "979488591283076", "497598178935302", "849333458814010" }

    Returns: {12, 0, 13, 8, 1, 4, 9, 6, 10, 5, 11, 7, 3, 14, 2 }

  84. {"058241783245974", "907086810382935", "290560543284864", "751016179079515", "625809576850947", "336040548763012", "119905071511217", "389824201565460", "139275150676400", "699458288017148", "162028968506556", "705097266260064", "168531887559066", "403674539278506", "840180325252480" }

    Returns: {9, 1, 13, 4, 3, 0, 10, 12, 11, 5, 6, 14, 8, 7, 2 }

  85. {"005876735798686", "902387843654366", "260543375476748", "654065476547457", "243605643780097", "209670654364357", "543779065477575", "547654703778899", "457657780099075", "509748000000657", "069879650404365", "657899775000000", "589999898989048", "468090890890708", "765984803589890" }

    Returns: {12, 8, 1, 7, 14, 0, 6, 10, 9, 11, 5, 3, 13, 2, 4 }

  86. {"010", "004", "000" }

    Returns: {0, 1, 2 }

  87. {"0200", "1022", "1201", "0210" }

    Returns: {2, 0, 1, 3 }

  88. {"000000000000000", "000000000000000", "100000000000000", "001000000000000", "000000000000000", "000000000000000", "000000000000000", "000000000000000", "000000000000000", "000000000000000", "000000000000000", "000000000000000", "000000000000000", "000000000000000", "000000000000000" }

    Returns: {1, 3, 2, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }

  89. {"085486210699785", "508538621069978", "850854862106397", "785085486210699", "978508548623069", "997850854862106", "639785085486210", "069978508548621", "106997850854862", "210699785085486", "621039978508548", "862106997850854", "486210699785085", "543621069978508", "854862106997850" }

    Returns: {0, 12, 7, 4, 1, 2, 13, 14, 10, 11, 8, 9, 5, 6, 3 }


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: