Javascript đếm số 0 đứng đầu
Giải pháp 1. Một cách tiếp cận ngây thơ là chuyển đổi không. thành dạng nhị phân của nó và sau đó đếm số không. số 0 đứng đầu. Nó sử dụng các hoạt động phân chia đắt tiền. Show C++2562 2563 2564 2565 250 251
252 253 254 253 256 257 258 259 258 2511 258 253 2514 2515 2516 258 253 2519 258 251 252 258 257 255 256 255 258 258 2500
258 2502 2503 2500
2505 253 2507 257 258 253 2501 258 2503 258 2502 2506 2500 Java2508 2563 ________ 7620 ________ 7621 257 25623 25624 25625 25626 25627
252 25623 253 25631______03 256 257 258 259 258 2511 258 253 25641 25626 25627 258 253 25646 25647 25627 258 251 25651____7652 25653 25652______7655 25647 25657 258 257 255 2501 25652 2503 255 258 258 2500
258 2502 2503 2500
2512 2513 25623 2515 2516 257 258 253 2520 2521 25627 258 2524 2500 2500
2527 Python32528 2529 2530
2531 2532 2533 2534 258 258 2537 258 2539 258 2541____042 2543 258 2545 2542 25647 258 251 25651______7652 2552 2553 25652 2555 2542 2542 25647 2559 255 2561 2542 2563 25652 25657 255 2545 2568 2542 25652
258 2502 2545
2574 2561 2542 2521 2578 2579
2580 2581 C#2582 2563 2565 2585
________ 7620 ________ 7621 257 25623 25624 2591
2592 2593 25623 253 25631______03 256 257 258 25101 258 25103 258 253 25106 258 253 2519 258 251 25112 258 257 255 256 255 258 258 2500 258 2502 2503 2500
2512 2513 25623 2515 25129 257 258 253 2501 258 25135 2500 2500
25138 Javascript25139
25140 2563
25142
252 25144 25145 257 258 259 258 2511 258 25152 _______08 25154 258 251 25112 258 257 255 256 255 258 258 2500 25166 258 2502 2503 2500
2512 25172 25173 258
25175
25176 Đầu ra 25 Độ phức tạp về thời gian. O(1) Giải pháp 2. Một cách tiếp cận hiệu quả là sử dụng thao tác dịch chuyển phải Bitwise để đạt được điều tương tự. Các bước trong thuật toán là. 251 Cách tiếp cận trên chỉ thực hiện trong 12 đến 20 lệnh C++2562 2563 2564 2565 250 251
252 253 25631 253 256 257 _______08 25190 258 253 25193 _______08 25195 258 25197 25198 255 2500 255 2502 258 2500 258 2506 258 25197 25198 255 2511 255 2502 258 2500 258 2517 258 25197 25198 255 2522 255 2502 258 2500 258 2528 258 25197 25198 255 2533 255 2502 258 2500 258 2539 258 25197 2542 255 2502 2545 258 2502 2548 2500
2505 253 2507 257 258 253 2501 258 2503 258 2502 2506 2500 Java2508 2563 2565 2566
25620 2568 258 252 25623 253 25631______03 256 257 258 253 2579 258 253 2582 2543 25627 258 2586____087 25627 258 25197 2591 25647 2593 255 2595____087 25627 255 2502 258 2500 258 2586____7626 25627 258 25197 2591 25647 2593 255 2595____7626 25627 255 2502 258 2500 258 2586____3021 25627 258 25197 2591 25647 2593 255 2595____3021 25627 255 2502 258 2500 258 2586____3038 25627 258 25197 2591 25647 2593 255 2595____3038 25627 255 2502 258 2500 258 2586____7652 25627 258 25197 2591 25647 25657 255 2502 25064____3038 25627 258 2502 2548 2500
2505 258 2513 25623 2515 25076 258 253 2520 2521 25627 _______08____3083 258 2500 25086 2500 Python325088 25089
25090 2533 2534 258 25094 2542 2543 25627 258 25099 2542 25001 2587 25627 258 25197 25006 2542 25647 2559 255 25094 2542 25094 2553 2587 25627 255 2561 2542 2579
258 25099 2542 25001 25626 25627 258 25197 25006 2542 25647 2559 255 25094 2542 25094 2553 25626 25627 255 2561 2542 2579
258 25099 2542 25001 25021 25627 258 25197 25006 2542 25647 2559 255 25094 2542 25094 2553 25021____7627 255 2561 2542 2579
258 25099 2542 25001 25038 25627 258 25197 25006 2542 25647 2559 255 25094 2542 25094 2553 25038 25627 255 2561 2542 2579
258 25099 2542 25001 25652 25627 258 25197 25006 2542 25647 2559 255 2502 25094 2553 25038 25627 258 2502 25094 2553 256212
256213 2533 256215 258 2561 2542 2521 25627 258 2578 2579
25197 256225 2542 2542 256228 256229 258 2507 C#2582 2563 2565 2585
________ 7620 ________ 7621 257 256239 256240 25623 253 25631______03 256 257 258 253 2579 258 253 25193 _______08 25195 258 258 25197 2542 258 257 255 2500 255 2502 258 2500 258 2506 258 258 25197 2542 258 257 255 2511 255 2502 258 2500 258 2517 258 258 25197 2542 258 257 255 2522 255 2502 258 2500 258 2528 258 258 25197 2542 258 257 255 2533 255 2502 258 2500 258 2539 258 258 25197 2542 255 2502 2545 258 2502 2548 2500
2512 25623 2513 2515 256326 257 258 253 2501 258 25135 2500 2500
256335 PHP256336 256337 2563
252 25144 25631 256342 25657 257 258 256346 25627 258 256349 256350 258 256346 2542 256342 256355 258 25197 256358 256346 256360 258 257 255 256349 2542 256349 256367 255 256342 2542 256346 25627 258 2500 258 256346 2542____76342 256379 258 25197 256358 256346 256360 258 257 255 256349 2542 256349 256391 255 256342 2542 256346 25627 258 2500 258 256346 2542____76342 256403 258 25197 256358 256346 256360 258 257 255 256349 2542 256349 256415 255 256342 2542 256346 25627 258 2500 258 256346 2542 256342 256427 258 25197 256358 256346 256432 255 256349 2542 256349 256437 255 256342 2542 256346 25627 258 2500 258 256346 2542____76342 256449 258 25197 256358 256346 256360 255 2502 256349 256437 258 2502 256349 2553 256342 25627 2500
2512 256342 256468 256469 25631____76342 2503
256473 256474 Javascript25139
25140 2563
25166 252 25144 25145 257 _______08____76484 _______08____76486 _______08 25195 258 25197 25198 255 2500 255 2502 258 2500 258 2506 258 25197 25198 255 2511 255 2502 258 2500 258 2517 258 25197 25198 255 2522 255 2502 258 2500 258 2528 258 25197 25198 255 2533 255 2502 258 2500 258 2539 258 25197 2542 255 2502 2545 258 2502 2548 2500
2505 25172 25173
256546
25176 Đầu ra 25 Độ phức tạp về thời gian. O(1) Giải pháp 3. Sử dụng GCC __builtin_clz(x). Hàm này dùng để đếm số 0 đứng đầu của số nguyên trong đó clz là viết tắt của đếm số 0 đứng đầu. Nó đếm một số số 0 trước lần xuất hiện đầu tiên của một (bit thiết lập) C256548 253 2507 257 258 253 256554 256555 258 256557 256358 255 256560____76561 255 256563 258 2502 2506 2500 Đầu ra 250 Độ phức tạp về thời gian. O(1) Giải pháp 4. Sử dụng các chức năng được xác định trước Trong Java, phương thức numberOfLeadingZeros() của lớp Integer và Long được sử dụng để đếm các số 0 đứng đầu của số nguyên |