Cody

Solution 132580

Submitted on 30 Aug 2012 by Andrei Bobrov
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
%% a=randi(2^32,100,'uint32'); assert(isequal(unique_large(a),unique(a)))

ans = 301768 382321 992418 1120365 1400574 1466570 1570343 2243586 2828956 2985449 3472989 4292469 4333101 4675637 4943753 5147076 5585901 5602712 5645297 5672708 5831831 6094809 6284290 6330451 6502295 7728038 9114028 9612990 9826204 10087829 11984769 12441927 12534220 12718948 13157951 13274445 13408306 13646249 14321834 14470576 14577648 15270531 15484665 16574962 16636709 18451042 18452955 18618996 18866128 19101593 19669336 19729381 19903842 20270004 20652194 21214229 21402704 21598890 24279743 25058234 25358894 25816933 25923709 26087832 26232815 26739554 26830171 27386474 28393024 28842056 29403731 29646217 29690096 30056077 30222397 30674549 31562260 31592460 31655874 32244056 32794459 32909953 33093947 33470297 33587906 33976789 34103317 35125542 35425085 35629578 36601442 37085417 37141537 37230899 38032065 38213329 38289876 38589652 38719602 39019342 39644071 39831175 39901181 40082834 40315471 40879064 41913083 42100353 42852586 42853707 43575665 43648046 43704982 43711839 44382481 44395438 45094717 47047496 47154843 47965206 48709828 49080863 50169475 51119000 51639842 53300313 54470066 54549814 54784726 54785181 55172063 55852289 57050912 58650213 59247171 59517840 60274774 60529298 60541877 61109984 61684939 61784825 61851131 62091257 62217138 62647998 63409449 63796825 63835224 63862027 63952099 63973004 64642600 66157261 66347187 66516699 66750639 66780809 67193444 67325953 67655644 68281084 68325795 69234022 69933036 70311453 71617347 71641677 72941165 73010707 73755502 74938507 75076953 75641317 76967400 77147239 77175579 77404473 78071913 78528688 78913138 79469503 79897739 79941259 80086043 81155048 81337522 81941233 82258470 82710236 83328820 83470069 84085253 84271841 84871331 84888585 85134487 85364292 87558722 87710798 88200481 88553783 88820534 90158814 91223167 91481189 91904213 92581831 92985246 93773093 93938991 94187872 95661470 96265913 96426148 96690850 97186464 97919545 98181336 98842390 99734285 101500672 102433938 102587327 102705044 103196576 104117904 104735577 104943300 105097779 106005816 106006108 106358160 106532757 106752417 107641264 107953942 108020582 108354215 108808896 110265591 110347526 110742107 110892827 111039107 111056993 112129176 112298140 112424658 112640408 112911597 113023756 114719640 114850472 114932635 115271034 115364472 115725680 116617008 117038803 117044578 117547876 117677170 118665687 119185723 119194094 119929263 120230288 120832755 121023945 121459317 122533059 123154548 124133427 124202262 124444026 124537634 124706565 124883990 124930084 125222272 125500137 125664245 125782985 125981453 126342820 126766852 127422023 127784378 128769828 128814446 129407353 129449652 130009362 130503752 130519863 131172366 131231763 131296177 131664818 132526885 132669602 132776933 132843068 134004926 134041462 134496069 135119395 135535607 136097472 136104508 136721035 136918579 137106650 137400367 137723485 137751827 138849156 138880145 139980682 140019459 140082289 140155830 140663726 141475763 142285572 142504464 143080858 143200901 143404996 143886791 143903995 143951884 144327377 144705150 145121740 145442777 146274494 146295727 146445052 146962672 147192373 147944790 148098862 148144674 148734981 149001902 149114180 149364962 149610121 149747042 150247770 150392668 150420858 152142606 152626596 152860306 153380492 153599770 155108582 156032881 156057216 156206962 156259631 156446398 156658317 157036967 157756054 157881871 158387345 158387753 158768712 159779367 159921536 160040272 160486891 162087197 162527131 163215352 163261406 164353905 165311957 166175659 167562534 167602409 168296089 168653685 169678285 170097227 170503847 170723637 170774869 170851842 170924536 171143714 171239116 171981874 172154010 172470359 172852567 172993023 173910166 174797994 175265570 177092922 177535590 177943749 178667859 179614949 179752397 180049346 180556295 181107679 181477080 181667659 182240348 183190710 183222687 184094480 184544924 184785822 185069971 185161473 185272438 185580606 185971166 186360657 187790569 188194824 189262985 189295495 189318416 189689687 190928873 192468557 192803540 193292634 193493034 193742748 193925831 194971221 195319794 195821026 196101007 197074603 197096540 198304613 198391224 199077167 199864002 199991025 202197223 202490337 202585151 203587730 204157810 204245766 205173412 205244858 205487558 206281323 206936438 207231819 207991171 208079738 208110718 208745282 209330663 209527850 209620683 209688822 209915654 210808169 211067404 211151402 211369001 212465687 212688053 212740808 212879048 213167394 213264155 213397028 213456884 214136338 214155166 214342803 215773472 216208597 216262316 216702589 217525052 218676683 219777202 220390908 220468773 220571193 220916168 220968737 221006848 221569655 222594020 222919472 223021290 223089112 223672836 224119995 224163588 224234373 224246171 224298345 224649213 224911628 225233388 225423690 226245983 227633493 228395874 228470524 230103607 230200864 230611601 230873357 231173618 231204743 231233944 231339508 231519555 231713996 231832281 232460912 232739302 232843087 232956812 233205360 233258875 233476784 233567266 234246116 234576577 235328946 235925682 236112164 236471649 237371498 237570842 237892012 238587468 239043890 239180245 239455429 239797447 239866714 239907464 240085545 240314284 240415766 240885372 240929383 241693340 241761721 241991423 243451940 243510430 243544786 243722763 244010755 244018398 244524882 244871057 246274059 246284890 246506720 247623596 247988396 248476327 248561031 249002125 249137374 249220531 249578223 249639897 250000703 251011175 251162147 252662786 253534307 253569751 253812436 254061507 255135218 255373546 256061087 256081537 256158823 256371032 256751182 257052145 257778869 257799640 258108618 258408497 259253802 259702808 259721737 259903182 260302363 260663230 260726438 260745094 261779212 262117255 262212677 263615506 263717187 263747544 264529901 265535127 266470477 266482197 266919555 266940561 267647959 267757061 269950663 270623748 272033429 272310016 272320257 272399012 272893171 273122859 273531448 273755622 274238751 274291450 274455588 274759874 274887603 275130971 275332921 275402889 275681442 275929117 277599160 277629948 278832188 278878819 279490885 279500153 279685726 280202829 280607207 281046265 281472134 282061233 284155572 284512772 285575167 285704197 285991663 286359578 286375297 286967189 287083179 287463861 287531991 288719116 288966193 289241088 289409129 289538677 289678853 289810663 290515663 291136457 291811183 291831441 291908991 292026717 292176722 292635266 292832747 293196347 293385946 293515781 293592027 293650769 294154951 294233976 294360500 294558945 295485895 295519946 296015364 296257594 296395059 297550922 297931585 299565776 299658959 300532387 300690635 301564790 301598928 301915420 301967301 302578867 302830044 302866024 303586909 303601259 303891461 303927273 304747623 305101953 305652465 305950157 306166237 306855934 306887495 307141683 308528582 308678336 309459057 310853624 312297563 312805925 313039976 313937655 314106834 314126655 314578156 315086060 315211716 315828232 316090849 316135925 316545763 317120459 317148446 317187708 317805116 318199170 318212310 319847648 320119441 320578256 320747844 320868911 321046394 321453854 322536991 322654124 322983982 323207601 324249683 324294312 324862609 325791693 326274457 326277333 326788853 326918424 327295550 327439921 327445912 327589566 328184...

2   Pass
%% format long a=[uint64(9223372036854775808);uint64(9223372036854775806)]; out=unique_large(a); assert(isequal(out,flipud(a)),sprintf('\nsize(a)= %i %i \noutput= \n %14.0f\n %14.0f \n',size(out),out))

ans = 9223372036854775806 9223372036854775808

3   Pass
%% format long a=[uint64(18446744073709551615);uint64(18233720368547758060);uint64(9223372036854779806)]; out=unique_large(a); assert(isequal(out,flipud(a)),sprintf('\nsize(a)= %i %i \noutput= \n %16.0f \n %16.0f \n %16.0f \n',size(out),out))

ans = 9223372036854779806 18233720368547758060 18446744073709551615