「java贪心算法」java贪心算法的核心

博主:adminadmin 2022-11-26 23:27:07 45

今天给各位分享java贪心算法的知识,其中也会对java贪心算法的核心进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA-数组转化问题

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;

}

}

java算法设计问题(贪心算法)

第一、你说的那个东西不叫框架

第二、你用的算法不是多路合并

第三、题目不是让你合并、是让你找出最优解

解答,我晕这题目有啥解答的啊,你不是自己编的吧,假如合并两个有序序列只要m+n-1次比较,那么不单单这两个序列各自有序,同时其中一个序列任意元素大于另外一个序列所有元素

那么答案就是按照k的序号从前想后依次合并啊

找零钱问题 [贪心算法](java实现)

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("请输入查询组数");

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("请输入金额");

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());

}

没测试啊,有问题请勿喷,呵呵

关于java贪心算法和java贪心算法的核心的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。