【2310. 个位数字为 K 的整数之和】背包
import java.util.*;
class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
System.out.println(solution.minimumNumbers(58,9));
}
int ans = -1;
public int minimumNumbers(int num, int k) {
if( num == 0){
return 0;
}
List<Integer> list = calculate(num,k);
int[] arr = new int[list.size()];
int[] dp = new int[num+1];
Arrays.fill(dp,Integer.MAX_VALUE);
for (int i = 0; i < list.size() ; i++) {
arr[i] = list.get(i);
dp[arr[i]] = 1;
}
for(int i=1;i<=num;i++){
for(int j=0;j<arr.length;j++){
if(dp[i] < Integer.MAX_VALUE && i+arr[j] <= num) {
dp[i+arr[j]] = Math.min(dp[i+arr[j]],dp[i]+1);
}
}
}
return dp[num]== Integer.MAX_VALUE?-1:dp[num];
}
public List<Integer> calculate(int num, int k){
List<Integer> list = new ArrayList<>();
if( k <= num){
list.add(k);
}
int base = 1;
for(int i=1;i<=3;i++){
int nextbase =base*10;
for(int x=base;x<=nextbase-1;x++){
int tmp = x*10+k;
if( tmp <= num){
list.add(tmp);
}
}
base = nextbase;
}
return list;
}
}
【2310. 个位数字为 K 的整数之和】背包的更多相关文章
- 写一方法计算实现任意个整数之和.在主调函数中调用该函数,实现任意个数之和。(使用params参数)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 算法战斗:给定一个号码与通配符问号W,问号代表一个随机数字。 给定的整数,得到X,和W它具有相同的长度。 问:多少整数协议W的形式和的比率X大?
如果说: 给定一个号码与通配符问号W,问号代表一个随机数字. 给定的整数,得到X,和W它具有相同的长度. 问:多少整数协议W的形式和的比率X大? 进格公式 数据的多组,两排各数据的,W,第二行是X.它 ...
- C#求任意两整数之和
2019.9.11 作业要求: 求出任意两整数之和 解决方案: using System; using System.Collections.Generic; using System.Linq; u ...
- N个整数(数的大小为0-255)的序列,把它们加密为K个整数(数的大小为0-255).再将K个整数顺序随机打乱,使得可以从这乱序的K个整数中解码出原序列。设计加密解密算法,且要求K<=15*N.
N个整数(数的大小为0-255)的序列,把它们加密为K个整数(数的大小为0-255).再将K个整数顺序随机打乱,使得可以从这乱序的K个整数中解码出原序列.设计加密解密算法,且要求K<=15*N. ...
- 《剑指offer》写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
弱菜刷题还是刷中文题好了,没必要和英文过不去,现在的重点是基本代码能力的恢复. [题目] 剑指offer 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. [思路] 直觉 ...
- 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 输入例子 ...
- BZOJ3601. 一个人的数论(狄利克雷卷积+高斯消元)及关于「前 $n$ 个正整数的 $k$ 次幂之和是关于 $n$ 的 $k+1$ 次多项式」的证明
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=3601 题解 首先还是基本的推式子: \[\begin{aligned}f_d(n) &a ...
- Leecode刷题之旅-C语言/python-349两整数之和
/* * @lc app=leetcode.cn id=371 lang=c * * [371] 两整数之和 * * https://leetcode-cn.com/problems/sum-of-t ...
- 集合Gk表示这样一堆数字,该集合内的数字有k个1
问题描述 集合Gk表示这样一堆数字,该集合内的数字有k个1.比如,G1 = { 1, 10, 100, 1000, ...} G2 = {11, 110, 1110 }, ... , Gk { ... ...
- leetcode python两整数之和
# Leetcode 371 两整数之和***### 题目描述 **不使用**运算符 `+` 和 `-` ,计算两整数 `a `.`b` 之和. **示例1: ...
随机推荐
- Java 如何在日志中优雅的打印 Exception
一.使用 log 库打印 使用 log 库如 slf4j @Slf4j public class MyDemo { public void demo() { try { int a = 10 / 0; ...
- HBase执行stop-hbash.sh关闭命令等待时间过长
问题描述 执行stop-hbase.sh时,等待很长时间都没结束(出来很多"...") 解决办法: hbase-daemons.sh stop masterhbase-daemon ...
- JS Leetcode 198. 打家劫舍 题解分析,再次感受动态规划的魅力
壹 ❀ 引 本题来自LeetCode198. 打家劫舍,难度中等,也很有意思,是一道教小偷如何偷窃最大金额的题,题目描述如下: 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你 ...
- NC16576 [NOIP2012]摆花
题目链接 题目 题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m 盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n 种花,从1 到n 标号.为了在门口展出更多种花,规定第i ...
- Android上的日志
Android的日志机制和普通的Java项目有一些不一样, 这里记录一下 安卓内建的Log 安卓应用类型(在build.gradle里定义 android {...})的模块, 可以直接引用内建的an ...
- TS内置类型与拓展
TS内置类型与拓展 TypeScript具有类型系统,且是JavaScript的超集,其可以编译成普通的JavaScript代码,也就是说,其是带有类型检查的JavaScript. 内置类型 Type ...
- CSS加JS实现网页返回顶部功能
最近在设计自己的博客,前端页面在内容很多的时候往下拖动会有滚动条.通常我们都需要一个返回顶部的功能来实现快速来到网页顶部.当然实现方式不止一种,这里我采用的最实用的一种.使用CSS+Jquery方式 ...
- WinRT: 可能是 Windows 上最好用的 Native ABI 和远程调用方案
前言 Windows 自从很久以来就有一个叫做 COM 的 Native ABI.这是一套面向对象的 ABI,在此之上 Windows 基于 COM ABI 暴露了各种各样的 API,例如 Manag ...
- string 字符串转为 char *
std::string str = "abc"; const char *p = str.data(); 更多: https://www.cnblogs.com/devilmayc ...
- Golang Web 框架 Gin 基础学习教程集合目录
Gin Web 框架基础学习系列目录 01-quickstart 02-parameter 03-route 04-middleware 05-log 06-logrus 07-bind 08-val ...