1)結(jié)構(gòu)化程序的設(shè)計原則:模塊化,自項向下,逐步求精
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比衡山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式衡山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋衡山地區(qū)。費用合理售后完善,十載實體公司更值得信賴。2)下列程序的輸出結(jié)果是:0
public class Task { static int i; public static void main(String[] args) { System.out.println(i); } }
3)下列程序的輸出結(jié)果是:1和1.0
public static void main(String[] args) { System.out.println(100/3); System.out.println(100/3.0); }
4)在JAVA基本類型中,小數(shù)默認(rèn)是double類型,如果我們寫float a=1.0,此時程序就會報錯,因為默認(rèn)是double類型,我們應(yīng)該寫成float a=1.0f;
5)方法通常存儲在JVM中的方法區(qū)
編程題1:組隊競賽組隊競賽_牛客筆試題_niu題目大概敘述:牛牛舉辦了一次編程比賽,參加比賽的有3*n個選手,每一個選手都有一個水平值a_i,現(xiàn)在要把這些選手進行組隊,一共組成N個隊伍,即每一個隊伍3個人,牛牛發(fā)現(xiàn)隊伍的水平值等于該隊伍隊員的第二水平值
例如:
一個隊伍三個隊員的水平值分別是3,3,3.那么隊伍的水平值是3
一個隊伍三個隊員的水平值分別是3,2,3.那么隊伍的水平值是3
一個隊伍三個隊員的水平值分別是1,5,2.那么隊伍的水平值是2
為了讓比賽更有看點,牛牛想安排隊伍使所有隊伍的水平值總和大。
如樣例所示:
如果牛牛把6個隊員劃分到兩個隊伍
如果方案為:
team1:{1,2,5}, team2:{5,5,8}, 這時候水平值總和為7.
而如果方案為:
team1:{2,5,8}, team2:{1,5,5}, 這時候水平值總和為10.
沒有比總和為10更大的方案,所以輸出10.
思路:1)對于1,2,5,5,5,8這個數(shù)組來說,我們該如何進行分組呢?總共數(shù)組的長度是9
我們?nèi)〉谝粋€元素和倒數(shù)后兩個元素:1,5,8(0下標(biāo)取的位置是4)
我們?nèi)〉诙€元素所取得元素下標(biāo)是:2,5,5(1下標(biāo)取的位置是2)
2)對于2,5,1,4,3,7,6,9,8這個數(shù)組來說,總共數(shù)組的長度是9,我們先給數(shù)組進行排序:1,2,3,4,5,6,7,8,9
我們?nèi)〉谝粋€元素和倒數(shù)后兩個元素:1,8,9(0號位置下標(biāo)開始取得位置下標(biāo)是7)
我們?nèi)〉诙€元素所取得元素下標(biāo)是:2,7,8(1號位置下標(biāo)開始取得的位置下標(biāo)是5)
我們?nèi)〉谌齻€元素所取得元素下表是:3,4,5(2號位置下標(biāo)開始取得的位置下標(biāo)是4)
1)所以說我們定義一個循環(huán),循環(huán)所走的次數(shù)也就是分組所分的次數(shù)也就是len/3 2)既然循環(huán)從前向后走,每走到一個位置,對應(yīng)的元素下標(biāo)是array.len-2*(i+1)import java.util.*; public class Main{ public static void main(String[] args){ Scanner scanner=new Scanner(System.in); while(scanner.hasNextInt()){ int n=scanner.nextInt(); int[] array=new int[3*n]; for(int i=0;i<3*n;i++){ array[i]=scanner.nextInt(); } Arrays.sort(array); long sum=0; for(int i=0;i
編程題第二題:刪除公共字符 第一種方法:通過hashSet來進行解決:import java.util.Scanner; import java.util.*; // 注意類名必須為 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); while(scanner.hasNext()){ String str1=scanner.nextLine(); String str2=scanner.nextLine(); HashSet
result=new HashSet<>(); for(int i=0;i
第二種方法:也是一種哈希映射輸入用例:
a,b,c,d,e,f
b,e
輸出用例:
a,c,d,f
1)由于小寫字母a的ASCIL碼值是97,我們可以申請一個數(shù)組長度大小是256的數(shù)組,遍歷第二個字符串,把對應(yīng)的字符出現(xiàn)的次數(shù)放到數(shù)組里面
2)遍歷第一個字符串如果說在數(shù)組中的值是0,那么說明這個字符在第二個字符串中沒有出現(xiàn)過
public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String str1=scanner.nextLine(); String str2=scanner.nextLine(); int[] array=new int[256]; for(int i=0;i
第三種方法:使用哈希表存儲每一個字符出現(xiàn)的次數(shù)1)先進行創(chuàng)建一個HashMap統(tǒng)計第二個字符串,記錄每一個字符出現(xiàn)的次數(shù)
2)遍歷第一個字符串中的所有字符,如果在hashMap中找不到,說明這個字符在字符串2中沒有出現(xiàn)過
public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String str1=scanner.nextLine(); String str2=scanner.nextLine(); HashMap
result=new HashMap<>(); for(int i=0;i
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧