当前位置:网站首页>LeetCode 1981. Minimize the difference between the target value and the selected element one question per day
LeetCode 1981. Minimize the difference between the target value and the selected element one question per day
2022-07-07 16:59:00 【@Little safflower】
Problem description
Give you a size of m x n The integer matrix of mat And an integer target .
From matrix's Every line Select an integer from the , Your goal is To minimize the Of all selected elements and And target value target Of Absolute difference .
return The smallest absolute difference .
a and b Two digit Absolute difference yes a - b The absolute value of .
Example 1:
Input :mat = [[1,2,3],[4,5,6],[7,8,9]], target = 13
Output :0
explain : One possible optimal option is :
- On the first line, choose 1
- On the second line, choose 5
- On the third line, choose 7
The sum of the selected elements is 13 , Equal to the target value , So the absolute difference is 0 .
Example 2:Input :mat = [[1],[2],[3]], target = 100
Output :94
explain : The only option is :
- On the first line, choose 1
- On the second line, choose 2
- On the third line, choose 3
The sum of the selected elements is 6 , The absolute difference is 94 .
Example 3:Input :mat = [[1,2,9,8,7]], target = 6
Output :1
explain : The best choice is to choose the first line 7 .
The absolute difference is 1 .
Tips :
m == mat.length
n == mat[i].length
1 <= m, n <= 70
1 <= mat[i][j] <= 70
1 <= target <= 800source : Power button (LeetCode)
link :https://leetcode.cn/problems/minimize-the-difference-between-target-and-chosen-elements
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Java
class Solution {
public int minimizeTheDifference(int[][] mat, int target) {
int n = mat.length;
// 70 * 70
boolean[][] dp = new boolean[n][5000];
// Deal with the first line
for(int num : mat[0]) dp[0][num] = true;
for(int i = 1;i < n;i++){
// The elements of each line
for(int val : mat[i]){
for(int j = val;j < 5000;j++){
// The previous line is optional j-val value , The current line can be selected j
dp[i][j] = dp[i][j] || dp[i - 1][j - val];
}
}
}
int ans = Integer.MAX_VALUE;
for(int j = 0;j < 5000;j++){
if(dp[n - 1][j]){
ans = Math.min(ans,Math.abs(j - target));
}
}
return ans;
}
}
边栏推荐
- 网关Gateway的介绍与使用
- 记录Servlet学习时的一次乱码
- LeetCode 403. 青蛙过河 每日一题
- 01tire+ chain forward star +dfs+ greedy exercise one
- As an Android Developer programmer, Android advanced interview
- skimage学习(3)——Gamma 和 log对比度调整、直方图均衡、为灰度图像着色
- LeetCode 1049. 最后一块石头的重量 II 每日一题
- Introduction and use of gateway
- Talk about the realization of authority control and transaction record function of SAP system
- 蓝桥杯 决赛 异或变换 100分
猜你喜欢
预售17.9万,恒驰5能不能火?产品力在线,就看怎么卖
The team of East China Normal University proposed the systematic molecular implementation of convolutional neural network with DNA regulation circuit
Opencv personal notes
Three. JS series (1): API structure diagram-1
skimage学习(3)——使灰度滤镜适应 RGB 图像、免疫组化染色分离颜色、过滤区域最大值
Imitate the choice of enterprise wechat conference room
Opencv configuration 2019vs
模块六
二叉搜索树(特性篇)
QML beginner
随机推荐
如何快速检查钢网开口面积比是否符合 IPC7525
Localstorage and sessionstorage
QT 图片背景色像素处理法
Sqlserver2014+: create indexes while creating tables
预售17.9万,恒驰5能不能火?产品力在线,就看怎么卖
运算符
A tour of gRPC:03 - proto序列化/反序列化
Have fun | latest progress of "spacecraft program" activities
Pycharm IDE下载
谈谈 SAP 系统的权限管控和事务记录功能的实现
Record the migration process of a project
typescript ts 基础知识之类型声明
爬虫(17) - 面试(2) | 爬虫面试题库
QT中自定义控件的创建到封装到工具栏过程(一):自定义控件的创建
Talk about the realization of authority control and transaction record function of SAP system
【MySql进阶】索引详解(一):索引数据页结构
As an Android Developer programmer, Android advanced interview
Personal notes of graphics (2)
偶然升职的内心独白
typescript ts基础知识之tsconfig.json配置选项