Java实现 蓝桥杯 乘积最大
JAVA 实现 蓝桥 最大 乘积
2023-09-14 08:58:15 时间
输入输出样例
输入样例#1:
4 2
1231
输出样例#1:
62
import java.util.Scanner;
public class chengjizuida {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
String s = sc.next();
s = s.trim();
sc.close();
// String ss = "0123456789";
// String sss=ss.substring(0,1);
// System.out.println(sss);
// System.out.println(Integer.parseInt("123456"));
int[][] num = new int[s.length() + 2][s.length() + 2];
for (int i = 1; i < s.length() + 1; i++) {
for (int j = i + 1; j < s.length() + 2; j++) {
String str = s.substring(i - 1, j - 1);
// str = str.trim();
// System.out.println(str);
int a=0;
try {
a = Integer.valueOf(str);
} catch (Exception e) {
// TODO: handle exception
a = 0;
}
num[i][j-1] = a;
// System.out.println(a);
// System.out.println(num[i][j]);
// System.out.println(str);
}
}
int[][] dp = new int[n + 1][k + 1];
for (int i = 0; i < n+1; i++) {
for (int j = 0; j < k+1; j++) {
dp[i][j]=1;
}
dp[i][0]=num[i][1];
}
for (int j = 1; j <= k; j++)
// 乘号个数
for (int i = 1+j; i <= n; i++)
// 前i个数
for (int l = j; l <= i; l++)
// 最后一个乘号放在第k个数后第k+1个数前
dp[i][j] = Math.max(dp[i][j], dp[l][j-1] * num[l + 1][i]);
System.out.println(dp[n][k]);
}
}
相关文章
- java分层打印二叉树_基于Java的二叉树层序遍历打印实现
- protostuff java_Protostuff一键序列化工具、Protobuf JAVA实现
- java笛卡尔积算法_Java 笛卡尔积算法的简单实现
- 【说站】java虚拟机中栈的运行原理
- java softreference_Java引用总结–StrongReference、SoftReference、WeakReference、PhantomReference…[通俗易懂]
- idea创建java项目的步骤_Java为什么新建不了项目
- 【JAVA冷知识】JAVA真的不支持多继承吗?让我们用内部类去实现JAVA的多继承吧
- 稀疏数组(Java代码基本实现)
- 数据库解锁Java,优雅连接Oracle数据库(java使用oracle)
- Java实现MSSQL数据库连接(java连接mssql)
- 实现Linux上的Java环境:从安装到配置(linux安装java环境)
- Java监控MySQL性能:实现数据库运行优化(java监控mysql)
- Java实现Redis分布式锁(java实现redis锁)
- 机制使用Redis Java实现高效过期机制(redisjava过期)
- 策略Java中利用Redis实现数据过期策略(redisjava过期)
- 缓存实现Redis Java高效过期缓存管理(redisjava过期)
- MySQL与Java的结合:实现强大的数据持久化功能(mysql与java)
- 更新Redis中Java更新缓存机制实现过期更新(redisjava过期)
- 键操作Java操作Redis过期键的快速实现(redisjava过期)
- 40秒使用Java实现Redis数据默认40秒过期(redisjava过期)
- 机制使用Java和Redis实现过期机制(redisjava过期)
- 机制使用Redis Java实现过期机制(redisjava过期)
- 处理Redis 与 Java 实现过期数据处理(redisjava过期)
- 清理Redis Java实现的自动过期清理机制(redisjava过期)
- 失效时间设置Java程序设置Redis过期时间的实现方法(redisjava过期)
- Java与Oracle的连接方式(java连oracle)
- Java连接MySQL:实现数据库操作(java中连接mysql)
- 使用Java远程控制Linux 实现简单、高效的服务器管理(java控制linux)
- 实现Java实现Redis锁的研究与应用(redis锁java)
- Java解答Oracle使用更轻松的实现方式(oracle写成java)
- Java锁表与Oracle数据库协调实现数据安全(java锁表oracle)
- Java使用Oracle实现优雅数据查询(java.oracle)
- 使用Java实现Redis锁定的实现(redis锁定 java)