用java写这道题好像有坑啊
  • 板块P1130 红牌
  • 楼主Whirlwind
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/3/1 23:19
  • 上次更新2023/11/5 02:32:36
查看原帖
用java写这道题好像有坑啊
486043
Whirlwind楼主2021/3/1 23:19

用动规无论怎么搞都是内存溢出.去提交记录看java语言的通过人数,只有很少很少的人能通过。而大部分的人都是内存溢出。我想问下到底哪里错了,要疯了

代码我自认为没问题。但是28910点都内存超过125mb 其他都正确 这一段代码怎么可能用到125mb。

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt(),M=sc.nextInt();//N为步骤,M为小组数
		int rec[][]=new int[N][M];
		for(int i=0;i<M;i++)
			for(int j=0;j<N;j++) 
				rec[j][i]=sc.nextInt();
		
	     int dp[][]=new int[N][M];
	     
		 for(int i=0;i<M;i++) {
			 dp[0][i]=rec[0][i];
		 }
		 for(int i=1;i<N;i++) {
				int tmp;
			 for(int j=0;j<M;j++) {
				     tmp=j-1<0?M-1:j-1;
				     dp[i][j]= Math.min(dp[i-1][j]+rec[i][j],dp[i-1][tmp]+rec[i][j] );
			 }
		 }
		long min=0x3f3f3f3f;
		for(int i=0;i<M;i++) {
			if(dp[N-1][i]<min)
				min=dp[N-1][i];
		}
		System.out.println(min);
	}

	
}

2021/3/1 23:19
加载中...