演算法做題技巧

2021-10-09 04:04:00 字數 2199 閱讀 5623

僅作為自己學習、複習演算法的小筆記

//string轉換成int  :

integer.

valueof

("12"

)//int轉換成string :

string.

valueof(12

)

方法摘要(來自api1.6.0)

方法說明

boolean empty()

測試堆疊是否為空

e peek()

檢視堆疊頂部的物件,但不從堆疊中移除它

e pop()

移除堆疊頂部的物件,並作為此函式的值返回該物件

e push(e item)

$1int search(object o)

返回物件在堆疊中的位置,以 1 為基數

(來自api1.6.0)

方法說明

char charat(int index)

返回指定索引處的 char 值

示例:

public

static

void

main

(string[

] args)

示例:

// a 為陣列

arrays.

sort

(a);

十進位制數

二進位制數

二進位制數長度

2^2-1=3112

2^3-1=7

1113

2^4-1=15

1111

4由此可知,不同進製對應的二進位制為:

進製進製數

二進位制數411

0101811

001001

1611

00010001

所以 2^n 進行進製轉換,都可以先轉化成二級制,再轉化成需要的進製。

比如十六轉八進位制,就可以十六轉二轉八。

具體實現流程,可以參考藍橋杯→基礎練習→十六進製制轉八進位制試題。

連線:題目:

試題 基礎練習 十六進製制轉八進位制

資源限制

時間限制:1.0s 記憶體限制:512.0mb

問題描述

給定n個十六進製制正整數,輸出它們對應的八進位制數。

輸入格式

輸入的第一行為乙個正整數n (1<=n<=10)。

接下來n行,每行乙個由0~9、大寫字母a~f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。

輸出格式

輸出n行,每行為輸入對應的八進位制正整數。

【注意】

輸入的十六進製制數不會有前導0,比如012a。

輸出的八進位制數也不能有前導0。

樣例輸入

2  39

123abc

樣例輸出

714435274

【提示】

先將十六進製制數轉換成某進製數,再由某進製數轉換成八進位制。

解題方案:

public

class

b_2_十六進製制轉八進位制

}/**

* 將十六機制專為二進位制

* @param str

* @return

*/public

static stringbuilder to_binary

(string str)

}return str2;

}/**

* 將二進位制專為八進位制

* @param str

*/public

static

void

to_octal

(stringbuilder str)

else

if(len %3==

2)//對結果進製輸出

if(ans>0)

system.out.

print

(ans)

;boolean flog =

true

;for

(int i=s;ilength()

;i+=3)

else

} system.out.

print

(ans);}

system.out.

println()

;}}

ACM做題小技巧《轉》

acm做題小技巧 轉 我的acm 博文來自 acm做題過程中的一些小技巧。1.一般用c語言節約空間,要用c 庫函式或stl時才用c cout cin和printf scanf最好不要混用。大資料輸入輸出時最好不要用cin cout,防止超時。2.有時候int型不夠用,可以用long long或 in...

阿里做題 百度做題

阿里大概題目兩個單元 1 單選。大部分數學邏輯題 小部分程式設計基礎題 選擇題目 strlen和sizeof的用法 幾乎逢考必見 資料結構樹的遍歷,和equal的區別 排序的複雜度分析 程式設計題目 1 考察hadoop檔案讀寫過程 2 編寫乙個轉賬介面,注意條件 餘額 轉賬金額 轉賬次數 1000...

演算法 演算法設計技巧

一 演算法設計 1 很多時候,對於資料結構中用到的演算法都是一些具體的實現,一些具體的例項,這裡討論的是演算法設計的一般性方法。二 貪婪演算法 1 在每乙個節點,選擇區域性最優的結果。以區域性最優表示全域性最優解。在通常情況下,這都是適用的,如果區域性最優代替不了全域性最優,得到的就是乙個次最優解。...