면접 알고리즘 문제

http://topic.csdn.net/u/20090404/00/7189d7f7-302a-4c26-a276-0c72f3f80442.html
 
 
1. 하나의 방법 을 쓰 고 for 순환 으로 99 곱셈 표를 인쇄 합 니 다. 
Java code
/**
* 구구 곱셈 구결 표 인쇄
*/
public
void
nineNineMulitTable(){
for
(
int
i
=
1
,j
=
1
; j
<=
9
; i
++
) { System.out.print(i
+
"
*
"
+
j
+
"
=
"
+
i
*
j
+
"
"
);
if
(i
==
j){ i
=
0
; j
++
; System.out.println(); } } }
2. java. util. Date 대상 을 정 하고 '2007 - 3 - 22 20: 23: 22' 형식의 문자열 로 어떻게 바 꿉 니까? 
 
Java code
/**
* 특정한 날 짜 를 고정된 형식 으로 문자열 로 변환 합 니 다 *
@param
date *
@return
str
*/
public
String date2FormatStr(Date date) { SimpleDateFormat sdf
=
new
SimpleDateFormat(
"
yyyy-MM-dd HH:mm:ss
"
); String str
=
sdf.format(date);
return
str; }
3. 하나의 방법 을 써 서 임의의 정수 가 소수 인지 아 닌 지 를 판단 할 수 있다.       /**     * 임의의 정수 가 소수 인지 아 닌 지 를 판단 하 다.     * @param num     * @return boolean     */     public boolean isPrimeNumber(int num)     {       for (int i = 2; i <= Math.sqrt(num); i++) {           if(num%i==0)           {               return false;           }       }       return true;     } 
 
 
4. 한 가지 방법 을 쓰 고 정 수 를 입력 하여 그 단 계 를 되 돌려 줍 니 다. 
Java code
/**
* 임의의 정수 의 단 계 를 획득 *
@param
n *@returnn!
*/
public
int
factorial(
int
num) {
//
귀착 하 다
if
(num
==
1
) {
return
1
; }
return
num
*
factorial(num
-
1
); }
5. 하나의 방법 을 쓰 고 임 의 정수 가 임 의 정수 배열 에 존재 하 는 지 2 분 검색 법 으로 판단 합 니 다. 존재 하면 배열 에 있 는 색인 위 치 를 되 돌려 줍 니 다. 반환 - 1 이 존재 하지 않 습 니 다. 
Java code
/**
* 2 분 특정 정수 가 전체 배열 에 있 는 위치 찾기 (재 귀) *
@param
dataset *
@param
data *
@param
beginIndex *
@param
endIndex *
@return
index
*/
public
int
binarySearch(
int
[] dataset,
int
data,
int
beginIndex,
int
endIndex){
int
midIndex
=
(beginIndex
+
endIndex)
/
2
;
//
색인 을 시작 한 데이터 보다 작 거나 끝 난 책 보다 크 거나 끝 난 색인 값 보다 큰 색인 값 을 찾 으 려 면 - 1 을 찾 지 못 했 습 니 다.
if
(data
<
dataset[beginIndex]
||
data
>
dataset[endIndex]
||
beginIndex
>
endIndex){
return
-
1
; }
if
(data
<
dataset[midIndex]){
return
binarySearch(dataset,data,beginIndex,midIndex
-
1
); }
else
if
(data
>
dataset[midIndex]) {
return
binarySearch(dataset,data,midIndex
+
1
,endIndex); }
else
{
return
midIndex; } }
/**
* 2 분 특정 정수 가 전체 배열 에 있 는 위 치 를 찾 습 니 다 (비 재 귀적) *
@param
dataset *
@param
data *
@return
index
*/
public
int
binarySearch(
int
[] dataset ,
int
data) {
int
beginIndex
=
0
;
int
endIndex
=
dataset.length
-
1
;
int
midIndex
=
-
1
;
if
(data
<
dataset[beginIndex]
||
data
>
dataset[endIndex]
||
beginIndex
>
endIndex){
return
-
1
; }
while
(beginIndex
<=
endIndex) { midIndex
=
(beginIndex
+
endIndex)
/
2
;
if
(data
<
dataset[midIndex]) { endIndex
=
midIndex
-
1
; }
else
if
(data
>
dataset[midIndex]) { beginIndex
=
midIndex
+
1
; }
else
{
return
midIndex; } }
return
-
1
; }

좋은 웹페이지 즐겨찾기