티스토리 뷰
문제 링크 : https://leetcode.com/problems/maximum-matrix-sum/description/
🍊해결방법
- 인접한 두개의 구역(행 or 열)을 정해서 -1을 곱하여 수를 변경하고 행렬 전체의 최대값을 구하여라
- 음수의 개수가 짝수개면 최종적으로 음수의 개수가 없다
- 음수의 개수가 홀수라면 마지막 1개만 음수가 남는다
- 행렬을 탐색하면서 절대값을 sum에 더하고, 최솟값을 갱신한다
- 음수의 개수가 홀수개면 최솟값이 음수가 되면 되므로 sum에서 빼준다
😀풀이
import java.util.*;
class Solution {
public long maxMatrixSum(int[][] matrix) {
// 음수인 수의 개수를 관리하자
// 결국은 음수개수가 짝수개면 상관없고
// 홀수개일 때 젤 작은 절대값을 가진 놈을 전체 합에서 빼주면 된다
int cnt = 0;
int min = 100010;
long sum = 0;
int n = matrix.length;
for(int i=0; i<n; i++){
for(int j=0; j<matrix[i].length; j++){
if(matrix[i][j] < 0){
cnt++;
}
min = Math.min(min, Math.abs(matrix[i][j]));
sum += Math.abs(matrix[i][j]);
}
}
if(cnt%2 != 0){
sum -= 2*min;
}
return sum;
}
}
'알고리즘 > LeetCode' 카테고리의 다른 글
[LeetCode] 1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence - 구현 (0) | 2024.12.02 |
---|---|
[LeetCode] 2257. Count Unguarded Cells in the Grid - 구현 (0) | 2024.11.21 |
[LeetCode] 2516. Take K of Each Character From Left and Right - 슬라이딩윈도우 (0) | 2024.11.20 |
[LeetCode] 2461 Maximum Sum of Distinct Subarrays With Length K - 슬라이딩윈도우 (0) | 2024.11.19 |
[LeetCode] 1652 Defuse the Bomb (0) | 2024.11.18 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 오블완
- 탑다운
- dfs
- 구현
- leetcode 1552
- 바텀업
- BFS
- sql
- 탑다운dp
- 스프링부트3 자바 버전
- 백준 14890 경사로
- 조합
- 위상정렬
- 누적합
- 백준 경사로
- 백준 경사로 자바
- 투포인터
- 티스토리챌린지
- dp
- 스프링부트3
- 스프링부트3 자바 17 오류
- 백준 14890 자바
- 슬라이딩윈도우
- 스프링부트3 java 버전오류
- 백준
- 유니온파인드
- 1482
- #스프링부트 자바버전 오류
- 백준 14890
- 이진탐색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
글 보관함