면접 알고리즘 문제
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
; }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
면접 에서 자바 SE 와 관련 된 몇 가지 큰 문제인터페이스 라 는 것 은 바로 시스템 류 (구조) 디자인 에 대한 고려 를 바탕 으로 하 는 것 이다.시스템 은 보통 여러 모듈 을 설계 해 야 한다. 여러 모듈 간 의 결합 관 계 는 보통 인터페이스 로 연결 되 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.