当前位置:网站首页>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;
}
}边栏推荐
- 低代码(lowcode)帮助运输公司增强供应链管理的4种方式
- 应用在温度检测仪中的温度传感芯片
- Localstorage and sessionstorage
- 直接上干货,100%好评
- 【图像传感器】相关双采样CDS
- 记录Servlet学习时的一次乱码
- Process from creation to encapsulation of custom controls in QT to toolbar (I): creation of custom controls
- Cesium(3):ThirdParty/zip. js
- 【MySql进阶】索引详解(一):索引数据页结构
- os、sys、random标准库主要功能
猜你喜欢

网关Gateway的介绍与使用

Have fun | latest progress of "spacecraft program" activities

Sort out several important Android knowledge and advanced Android development interview questions

Temperature sensor chip used in temperature detector

AutoLISP series (3): function function 3
![[Android -- data storage] use SQLite to store data](/img/f6/a4930276b3da25aad3ab1ae6f1cf49.png)
[Android -- data storage] use SQLite to store data

【医学分割】attention-unet

Imitate the choice of enterprise wechat conference room

Three. JS series (1): API structure diagram-1

QT中自定义控件的创建到封装到工具栏过程(一):自定义控件的创建
随机推荐
《产品经理必读:五种经典的创新思维模型》的读后感
编程模式-表驱动编程
LeetCode 300. Daily question of the longest increasing subsequence
LeetCode 403. 青蛙过河 每日一题
dapp丨defi丨nft丨lp单双币流动性挖矿系统开发详细说明及源码
最新Android高级面试题汇总,Android面试题及答案
Advanced C language -- function pointer
QT picture background color pixel processing method
[designmode] facade patterns
值得一看,面试考点与面试技巧
LeetCode-SQL第一天
LeetCode 213. Home raiding II daily question
[Android -- data storage] use SQLite to store data
Master this promotion path and share interview materials
Skimage learning (3) -- gamma and log contrast adjustment, histogram equalization, coloring gray images
null == undefined
AutoLISP series (1): function function 1
Localstorage and sessionstorage
Three. JS series (3): porting shaders in shadertoy
【图像传感器】相关双采样CDS