二進位制求5個1的格式。。。。
package sds.sw.certificert.adv.five.one;
import java.io.FileInputStream;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Scanner;
public class SolutionReview {
static long begin, end, min, max;
static int counter;
static char[] startChars = new char[34];
static char[] endChars = new char[34];
public static void main(String[] args) throws Exception {
System.setIn(new FileInputStream(
"C:\Users\Michael\workspace\java\Examnation\src\sds\sw\certificert\adv\five\one\input.txt"));
Scanner sc = new Scanner(System.in);
long st = Calendar.getInstance().getTimeInMillis();
int T = sc.nextInt();
for (int i = 0; i min) {
counter = findMiddle51(startChars, endChars);
} else {
min = -1;
max = -1;
counter = 0;
}
printResult(i + 1);
}
sc.close();
long p = Calendar.getInstance().getTimeInMillis() - st;
System.out.println("Use time: " + p);
}
static void scanNextTestcase(Scanner sc) {
begin = sc.nextLong();
end = sc.nextLong();
Arrays.fill(startChars, '0');
Arrays.fill(endChars, '0');
char[] temp = Long.toBinaryString(begin).toCharArray();
int offset = startChars.length - temp.length;
for (int index = 0; index '01'
right--;
if (aArray[right] == '1' && aArray[right + 1] == '0') {
aArray[right + 1] = '1';
aArray[right] = '0';
left = right;
}
}
right = aArray.length - 1;
left += 2;
while (left 0
if (aArray[left] != '0') {
left++;
}
if (aArray[right] != '1') {
right--;
}
if (aArray[left] == '0' && aArray[right] == '1') {
aArray[left] = '1';
aArray[right] = '0';
left++;
right--;
}
}
}
static void findNext51(char[] aArray) {
int left = 0;
int right = aArray.length - 1;
while (left != right) { // right first '01' --> '10'
right--;
if (aArray[right] == '0' && aArray[right + 1] == '1') {
aArray[right + 1] = '0';
aArray[right] = '1';
left = right;
}
}
right = aArray.length - 1;
left++;
while (left 1
if (aArray[left] != '1') {
left++;
}
if (aArray[right] != '0') {
right--;
}
if (aArray[left] > aArray[right] && left 5) {
int index = aArray.length - 1;
while (amount1 != 5) {
if (aArray[index] == '1' && amount1 > 5) {
aArray[index] = '0';
amount1--;
}
index--;
}
}
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2480/viewspace-2798847/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 位運算--求一個 數二進位制中1的個數
- 求一個整數的二進位制中1的個數
- 二進位制中1的個數
- 求二進位制數中1的個數(程式設計之美)程式設計
- 位運算(一):二進位制中1的個數
- 解析MYSQL BINLOG 二進位制格式(1)--準備工作MySql
- 求一個數的二進位制數中所含1的個數的程式碼實現
- Count 1 in Binary(二進位制中有多少個1)
- 【劍指offer】二進位制中1的個數
- C++資料格式化5 - uint轉換成十六進位制字串&二進位制的data列印成十六進位制字串C++UI字串
- 解析MYSQL BINLOG 二進位制格式(5)--WRITE_ROW_EVENTMySql
- 【刷演算法】二進位制中1的個數演算法
- 題目1513:二進位制中1的個數
- Java二進位制Class檔案格式解析Java
- mysql二進位制日誌格式介紹MySql
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 二進位制與二進位制運算
- 進位制詳解:二進位制、八進位制和十六進位制
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- 劍指 Offer 15. 二進位制中1的個數
- JZ-011-二進位制中 1 的個數
- (二進位制)
- 二進位制
- 十進位制——二 (八、十六 )進位制
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- 二進位制、十進位制與十六進位制相互轉化
- Python 進位制互相轉換(二進位制、十進位制和十六進位制)Python
- Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- 位,位元組,二進位制,十六進位制間的關係
- 二進位制轉十進位制快速方法
- 【c語言】統計一個數二進位制中的1的個數C語言
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- 什麼是二進位制?二進位制如何轉換?