貪心算法的java代碼 貪心算法的java代碼怎么寫

java貪吃蛇技術(shù)選型怎么寫的?

Java貪吃蛇技術(shù)選型一般需要考慮以下幾點(diǎn):

10多年的蠡縣網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整蠡縣建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“蠡縣網(wǎng)站設(shè)計(jì)”,“蠡縣網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

開發(fā)平臺(tái):需要選擇適用于Java語言的開發(fā)平臺(tái),如Eclipse、IntelliJ IDEA等。

編程語言:需要選擇Java語言來開發(fā)貪吃蛇游戲。

框架和庫:可以使用Java中的Swing框架和AWT庫來開發(fā)圖形界面,并使用Java多線程編程技術(shù)來實(shí)現(xiàn)游戲的實(shí)時(shí)動(dòng)態(tài)效果。

算法和數(shù)據(jù)結(jié)構(gòu):可以使用隊(duì)列或鏈表等數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)貪吃蛇的身體,并使用類似貪心算法的思想來決定貪吃蛇的下一步移動(dòng)方向。

編碼風(fēng)格和規(guī)范:需要遵循Java的編碼風(fēng)格和規(guī)范,確保代碼的可讀性和可維護(hù)性。

希望以上內(nèi)容能夠幫助您了解Java貪吃蛇技術(shù)選型。如果您有其他問題,歡迎隨時(shí)告訴我,我會(huì)盡力為您解答。

java代碼,多機(jī)調(diào)度問題,怎么解釋

多機(jī)調(diào)度問題的Java實(shí)現(xiàn)(貪心算法)

具體問題描述以及C/C++實(shí)現(xiàn)參見網(wǎng)址

[java]?view?plain?copy?print?

import?java.util.ArrayList;??

import?java.util.Collections;??

import?java.util.LinkedList;??

import?java.util.List;??

/**?

*?多機(jī)調(diào)度問題--貪心算法?

*?@author?Lican?

*?

*/??

public?class?JobMachine?{??

public?static?class?JobNode?implements?Comparable{??

int?id;//作業(yè)的標(biāo)號(hào)??

int?time;//作業(yè)時(shí)間??

public?JobNode(int?id,int?time){??

this.id=id;??

this.time=time;??

}??

@Override??

public?int?compareTo(Object?x)?{//按時(shí)間從大到小排列??

int?times=((JobNode)x).time;??

if(timetimes)?return?-1;??

if(time==times)?return?0;??

return?1;??

}?????????

}??

public?static?class?MachineNode?implements?Comparable{??

int?id;//機(jī)器的標(biāo)號(hào)??

int?avail;//機(jī)器空閑的時(shí)間(即機(jī)器做完某一項(xiàng)工作的時(shí)間)??

public?MachineNode(int?id,int?avail){??

this.id=id;??

this.avail=avail;??

}??

@Override??

public?int?compareTo(Object?o)?{//升序排序,LinkedList的first為最小的??

int?xs=((MachineNode)o).avail;??

if(availxs)?return?-1;??

if(avail==xs)?return?0;??

return?1;??

}??

}??

public?static?int?greedy(int[]?a?,int?m){??

int?n=a.length-1;//a的下標(biāo)從1開始,所以n(作業(yè)的數(shù)目)=a.length-1??

int?sum=0;??

if(n=m){??

for(int?i=0;in;i++)??

sum+=a[i+1];??

System.out.println("為每個(gè)作業(yè)分別分配一臺(tái)機(jī)器");??

return?sum;??

}??

ListJobNode?d=new?ArrayListJobNode();//d保存所有的作業(yè)??

for(int?i=0;in;i++){//將所有的作業(yè)存入List中,每一項(xiàng)包含標(biāo)號(hào)和時(shí)間??

JobNode?jb=new?JobNode(i+1,a[i+1]);??

d.add(jb);??

}??

Collections.sort(d);//對(duì)作業(yè)的List進(jìn)行排序??

LinkedListMachineNode?h=new?LinkedListMachineNode();//h保存所有的機(jī)器??

for(int?i=1;i=m;i++){//將所有的機(jī)器存入LinkedList中??

MachineNode?x=new?MachineNode(i,0);//初始時(shí),每臺(tái)機(jī)器的空閑時(shí)間(完成上一個(gè)作業(yè)的時(shí)間)都為0??

h.add(x);??

}??

int?test=h.size();??

for(int?i=0;in;i++){??

Collections.sort(h);??

MachineNode?x=h.peek();??

System.out.println("將機(jī)器"+x.id+"從"+x.avail+"到"+(x.avail+d.get(i).time)+"的時(shí)間段分配給作業(yè)"+d.get(i).id);??

x.avail+=d.get(i).time;??

sum=x.avail;??

}??

return?sum;??

}??

public?static?void?main(String[]?args)?{??

int[]?a={0,2,14,4,16,6,5,3};??

int?m=3;??

int?sum=greedy(a,m);??

System.out.println("總時(shí)間為:"+sum);??

}??

}??

/**?

運(yùn)行結(jié)果:?

將機(jī)器1從0到16的時(shí)間段分配給作業(yè)4?

將機(jī)器2從0到14的時(shí)間段分配給作業(yè)2?

將機(jī)器3從0到6的時(shí)間段分配給作業(yè)5?

將機(jī)器3從6到11的時(shí)間段分配給作業(yè)6?

將機(jī)器3從11到15的時(shí)間段分配給作業(yè)3?

將機(jī)器2從14到17的時(shí)間段分配給作業(yè)7?

將機(jī)器3從15到17的時(shí)間段分配給作業(yè)1?

總時(shí)間為:17?

*/

找零錢問題 [貪心算法](java實(shí)現(xiàn))

public getMin{

public int MinNumber=0;

public int findMax(int[] a){

for(int i=0;ia.length;i++){

if(a[i]==0) return a[--i];

}

return a[a.length-1];

}

public boolean Compare(int a,int b){

public boolean flag=true;

if(ab) flag=flase;

return flag;

}

public int getMinNumber(int[] M,int Money){

int[] findM=new int[M.length];

int index=0;

for(int i=0;iM.length;i++){

boolean f = this.Compare(M[i],money)

if(f) findM[index++]=M[i];

}

int max = this.findMax(findM);

MinNumber++;

if((Money-max)!=0) {

getMinNumber(M,Money-max)

}

return MinNumber;

}

public int[] Start(){

System.out.println("請(qǐng)輸入查詢組數(shù)");

int group=System.in.read();

int[] M={1,2,5,10,20,50,100};

int[] Result = new Int[group];

int index=0;

while (group-- 0){

System.out.println("請(qǐng)輸入金額");

int money=System.in.read();

Result[index++] = getMinNumber(M,money);

MinNumber=0;

}

}

public void print(int[] MinNumber){

for(int i=0;iMinNumber.length.i++){

System.out.println(MinNumber[i]+" ");

}

}

}

public static void main(String[] args){

new getMin().print(new getMin().Start());

}

沒測(cè)試啊,有問題請(qǐng)勿噴,呵呵

JAVA-數(shù)組轉(zhuǎn)化問題

public class test6 {

int a[] = { 1, 2, 3, 4, 5, 6, 7 };

int b[] = { 2, 1, 4, 3, 6, 5, 7 };

public static void main(String args[]) {

test6 test = new test6();

test.go();

}

public void go() {

if (smart(a, b))

System.out.println("n=" + n(a, b));

}

public boolean smart(int[] a, int[] b) {

int a_[] = array(a);

int b_[] = array(b);

if (a.length == b.length) {

for (int c = 0; c a.length; c++) {

if (a_[c] != b_[c]) {

System.out.println("cannot transform");

return false;

}

}

for (int c = 0; c a.length; c++)

System.out.print(a[c]+" ");

System.out.println();

for (int c = 0; c b.length; c++)

System.out.print(b[c]+" ");

System.out.println();

return true;

} else {

System.out.println("cannot transform");

return false;

}

}

public int[] array(int[] a) {

int[] z = new int[a.length];

for (int c = 0; c a.length; c++)

z[c] = a[c];

for (int c = 0; c z.length - 1; c++) {

for (int d = c + 1; d z.length; d++) {

if (z[c] z[d]) {

int x = z[c];

z[c] = z[d];

z[d] = x;

}

}

}

return z;

}

public int n(int[] a, int[] b) {

int c = 0;

for (int d = 0; d a.length; d++)

if (a[d] != b[d])

c += 5;

return (c + 8) / 10;

}

}

文章標(biāo)題:貪心算法的java代碼 貪心算法的java代碼怎么寫
當(dāng)前路徑:http://bm7419.com/article46/dohpphg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、App開發(fā)外貿(mào)建站、電子商務(wù)虛擬主機(jī)、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司