java面試演算法與設計(基礎)

2021-08-08 05:28:06 字數 3655 閱讀 5140

**:

package com.loan.controller;

public class arithmetic

/*** 1、列印出100以內的素數

*/ public static void getprimes(int maxnum)

} system.out.println(s.subsequence(0, s.length()-1)); }

/** * 判斷某個數是否為素數

* @param num

* @return

*/public static boolean isprime(int num)

}return true;

}}

結果:

* 列印九九乘法表

*/public static void nineninemuilttable()

system.out.println();

}}結果:

* 列印10000以內的回文數字

*/public static void circlenum(int maxnum)

if(oldnum==reversenum)

return false;

}結果:

/** * 獲取任意乙個時間的下n天的時間

*/public static void getnextday(date date,int n)

結果:

注:陣列copy用 :system.arraycopy(a, 0, b, 0, a.length);

public static void main(string args) throws parseexception;

maopaosort(a);

}/**

* 氣泡排序

* @param a

*/public static void maopaosort(int a)

} }string s="原陣列:";

for(int bb:b)

s+="氣泡排序之後的結果:";

for(int aa:a)

system.out.println(s);

}

結果:

* 插入排序

* @param a

*/public static void insertsort(int a);

system.out.println("原陣列:");

print(a);

quicksort(a,0,11);

system.out.println();

system.out.println("快速排序後陣列:");

print(a);

}public static void print(int a)

} /**

* 快速排序

* @param a

* @param low

* @param high

*/public static void quicksort(int a,int low,int high)

else if(high-low==1)

left++;

}while(left<=right)

public static void cycle(int total,int k)

system.out.println(total+"個人圍成圈,數到"+k+"和"+k+"的倍數時出圈,最後剩下的人原來的位置是:"+list.get(0));

}結果:

//求階乘之和

private static int getjc(int m,int n)

//題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。

private static void maxmin(int a,int b)

} for(int i=max;i<=a*b;i++)

} }//題目:輸入一行字元,分別統計出其中英文本母、空格、數字和其它字元的個數。

private static void stchar(string s)

else if(ch[i]==' ')

else if(ch[i]>='0'&&ch[i]<='9')

else

} system.out.println("英文本元數:"+c+"空格數:"+k+"數字數:"+sz+"其他字元:"+o);

} //題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是乙個數字。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加有鍵盤控制。

private static void testadd(int n,int a)

int sum=0;

for(int k=i-1;k>=0;k--)

s+=a*sum;

} system.out.println(s+"="+sc);

} //題目:乙個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3.程式設計找出1000以內的所有完數

private static void wanshu(int n)

else if(amount>20&&amount<=40)

else if(amount>40&&amount<=60)

else if(amount>60&&amount<=100)

else

system.out.println("當利潤為"+amount+"時,發放獎金數為:"+num);

} //輸入某年某月某日,判斷這一天是這一年的第幾天?

private static void pro12(string s)

}system.out.println(a+"

}

java面試演算法之快速排序

created by luo on 2017 9 2.public class quicksort int partition partition arr,first,last 獲取基準值所在陣列的位置,並對左右進行大小區分 quicksort arr,first,partition quickso...

面試演算法題

前幾天,一好友去筆試,有一題 現在有1000個蘋果,和10個箱子,如何把這1000個蘋果裝在這10個箱子裡,才能使不管任何數量 1 1000 的蘋果,都能一次給出?當時,我們都想,出題這人。今天,在想移位的時候,突然想到了,這絕對是二進位制數的變種。分析 1000個蘋果,最接近1024,轉化為2進製...

面試演算法記錄

1.親和數問題 求500萬以內的所有親和數 如果兩個數a和b,a的所有真因數之和等於b,b的所有真因數之和等於a,則稱a,b是一對親和數。例如220和284,1184和1210,2620和2924。思路 220 1 2 4 71 142 sum 284 284 1 2 4 5 10 11 20 22...