常見演算法題1

2021-10-03 11:49:25 字數 1528 閱讀 3098

1.反轉字串中的單詞和反轉字元

例如 str=「my name is teng」;

輸出1 str1=「teng is name my」;

輸出2 str2=「ym eman si gnet」;

解法:

public string reverse1

(string str)

return out+ s[0]

;}

public string reverse2

(string str)

return sb.

tostring()

.trim()

;}

2.把字串轉為整數,輸入乙個字串,如果是合法的數值則返回該數字,否則返回0:

public

intstrtoint

(string str)

else

if(str.

charat(0

)=='-')

else

long result=0;

for(

int i=start;i)else}if

(tag==0)

else

}

3.判斷字串是否為回文字串(正讀反讀都一樣的字串):

public

static

boolean

huiwen

(string str)

}return

true

;}

4.整數的逆序輸出:

例如x=321 輸出123

y=-123 輸出-321

public

intreverse

(int x)

return

(int

)result;

}

5.判斷乙個數是不是素數(質數)

public

boolean

isprimenumber

(int num)

}return

true

;}

6.輸入乙個整數,輸出該數二進位制中1的個數,其中負數用補碼表示

public

intonenum

(int n)

return count;

}

7.求乙個數的平方根

public

intmysqrt

(int x)

else

}return

(int

)left;

}

演算法 常見演算法題

演算法題 假如有100個不相同的數,比如從1到100,怎樣使用10次取出其中的10個不同的數字,要求每個數取出的概率一樣 一開始沒有說10次,所以我說,使用乙個random函式,以時間為種子來取,當取出乙個時,做標記,下次再取到這個數時,重新取一次 然後他就說了如果只能夠取10次怎麼辦?一開始我想到...

常見演算法題

一 維護o 1 時間查詢最大元素的棧 問題描述 乙個棧stack,具有push和pop操作,其時間複雜度皆為o 1 設計演算法max操作,求棧中的最大值,該操作的時間複雜度也要求為o 1 可以修改棧的儲存方式,push,pop的操作,但是要保證o 1 的時間複雜度,空間時間複雜 度無要求。可以建立乙...

常見演算法題

1.用簡單素數篩選法求n以內的素數。void printprime 2.使用位操作壓縮後的篩素數方法 include include int getprime int primes,int max 4.給定乙個包含n個整數的陣列,除了乙個數出現一次外,所有整數均出現三次,找出這個只出現一次的整數.思...