자바 의 두 문제 및 답
13067 단어 필기 하 다.
알림:
피 보 나치 수열:이 수열 은 세 번 째 항목 부터 시작 하여 모든 항목 이 앞의 두 항목 의 합 과 같 습 니 다.예 를 들 어{1.1.2.3.5.8.13.21.34.55}
요청:
(1)재 귀적 사용 불가(2)앞의 수 를 배열/집합 에 저장 할 수 없습니다.
문제 풀이 코드:
public class FirstDay {
/** 1000 。( 1000)
* @param args
*/
public static void main(String[] args) {
}
/*
// TODO Auto-generated method stub
int a = 0; //
int b = 1;
for (int i = 0; i < 100; i++) {
if(i % 2 == 0){
b +=a;
System.out.println(b);
}else{
a= a + b;
System.out.println(a);
}
if(a+b >1000){
break;
}
}
}
}
*/
/*
// ;
int a = 1; // 1;
int b = 1; // 1
for(int i = 0; i < 10000; i++){ //
System.out.print(" "+a+" "+b);
a += b;
b += a;
i = b;
}
*/
}
2.두 배열 의 a 와 b 를 알 고 있 습 니 다.배열 의 숫자 는 수치 에 따라 작은 것 에서 큰 것 으로 정렬 되 었 고 각 배열 에는 중복 값 이 없습니다.프로그램 을 작성 하여 배열 c,c 는 a 와 b 의 집합 이 고 c 의 숫자 는 작은 것 에서 큰 것 으로 정렬 되 며 중복 되 지 않 습 니 다.
알림:
:
a={1.3.8.20} b={2.3.11.12.15.26} : c={1.2.3.8.11.12.15.20.26}
o(m+n) , :
a b , , c , n , a 8, b 11, 8 c , a 20 b 11 , , 。
요청:
1) 0(m+m), , , 0(m*n);
for(inti=1.i for(intj=1.j}2)내부 함 수 를 사용 할 수 없습니다.가장 원시 적 인 배열 형식 으로 프로그램 을 작성 해 야 합 니 다.
문제 풀이 코드:
public class FirstDay2 {
/**2. a b, ,
* 。 c, c a b ,
* c 。
* a={1.3.8.20} b={2.3.11.12.15.26}
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = {1,3,8,20};
int[] b = {2,3,11,12,15,26};
int m = a.length;
int n = b.length;
int ap = 0;
int cp = 0; //c
int bp = 0; //b ——> b c
int[] c = new int[m+n];
for (int i = 0; i < c.length; i++) {
if(ap == m&& bp< n){
c[i] = b[bp];
bp++;
continue;
}else if(bp == n&&ap <m){
c[i]= a[bp];
ap++;
continue;
}else if (ap==m&&bp==n) {
break;
}else{
if(a[ap]>b[bp]){
c[i]=b[bp];
bp++;
}else if(a[ap]<b[bp]){
c[i]=a[ap];
ap++;
}else {
c[i]=a[ap];
ap++;
bp++;
}
}
}
// for (int i = 0; i < c.length; i++) {
// if(a[i] < b[i]){
// c[cp] = a[i];
// cp++;
// }else if (a[i] == b[i]) {
// c[cp] = a[i];
// cp++;
// }else {
// c[cp] = b[i];
// cp++;
// }
// }
// for (int i = 0; i < c.length; i++) {
// System.out.println(c[i]);
// }
/*
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < b.length; j++) {
j = bp;
if (a[i] < b[j]) {
c[cp] = a[i];
cp++;
if(i+1 == a.length){
for (int j2 = bp; j2 < b.length; j2++) {
c[cp] = b[j];
cp++;
}
}
break;
}else if (a[i] >b[j]) {
c[cp] = b[j];
cp++;
bp++;
}else {
c[cp] = a[i];
cp++;
bp++;
break;
}
}
}*/
for (int i = 0; i < c.length; i++) {
if(c[i] != 0){
System.out.println(c[i]);
}
}
// O(m+n)
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Dubbo (2): zookeeper 등록 센터Zookeeper 는 Apacahe Hadoop 의 하위 프로젝트 로 트 리 형태의 디 렉 터 리 서비스 로 푸 시 변경 을 지원 하 며 Dubbo 서비스의 등록 센터 로 적합 하 며 산업 강도 가 높 아 생산 환경...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.