kk
This commit is contained in:
34
src/main/java/com/dota/slidingWindow/_1537/Solution.java
Normal file
34
src/main/java/com/dota/slidingWindow/_1537/Solution.java
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
package com.dota.slidingWindow._1537;
|
||||||
|
|
||||||
|
class Solution {
|
||||||
|
public int maxSum(int[] nums1, int[] nums2) {
|
||||||
|
long sum1 = 0, sum2 = 0;
|
||||||
|
int i = 0, j = 0;
|
||||||
|
int n = nums1.length, m = nums2.length;
|
||||||
|
while (i < n && j < m) {
|
||||||
|
if (nums1[i] < nums2[j]) {
|
||||||
|
sum1 += nums1[i];
|
||||||
|
i++;
|
||||||
|
} else if (nums1[i] > nums2[j]) {
|
||||||
|
sum2 += nums2[j];
|
||||||
|
j++;
|
||||||
|
} else {
|
||||||
|
sum1+=nums1[i++];
|
||||||
|
sum2+=nums2[j++];
|
||||||
|
if (sum1 > sum2) {
|
||||||
|
sum2 = sum1;
|
||||||
|
} else {
|
||||||
|
sum1 = sum2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (i < n) {
|
||||||
|
sum1 += nums1[i++];
|
||||||
|
}
|
||||||
|
while (j < m) {
|
||||||
|
sum2+= nums2[j++];
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int) (Math.max(sum1, sum2) % 1000000007);
|
||||||
|
}
|
||||||
|
}
|
71
src/main/java/com/dota/slidingWindow/_2106/Solution.java
Normal file
71
src/main/java/com/dota/slidingWindow/_2106/Solution.java
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
package com.dota.slidingWindow._2106;
|
||||||
|
|
||||||
|
class Solution {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
new Solution().maxTotalFruits(new int[][]{
|
||||||
|
{0, 7}, {7, 4}, {9, 10}, {12, 6}, {14, 8},
|
||||||
|
{16, 5}, {17, 8}, {19, 4}, {20, 1}, {21, 3},
|
||||||
|
{24, 3}, {25, 3}, {26, 1}, {28, 10}, {30, 9},
|
||||||
|
{31, 6}, {32, 1}, {37, 5}, {40, 9}
|
||||||
|
}, 21, 30);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int maxTotalFruits(int[][] fruits, int startPos, int k) {
|
||||||
|
int max = Math.max(startPos, fruits[fruits.length - 1][0]);
|
||||||
|
var dp = new int[max + 1];
|
||||||
|
for (var f : fruits) {
|
||||||
|
dp[f[0]] = f[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
var sum = 0;
|
||||||
|
int start = startPos - k;
|
||||||
|
for (int i = start; i <= startPos && i < dp.length; i++) {
|
||||||
|
if (i >= 0) {
|
||||||
|
sum += dp[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int res = sum;
|
||||||
|
int r = startPos - k;
|
||||||
|
for (int i = start; i < startPos; i++) {
|
||||||
|
if (i >= 0) {
|
||||||
|
sum -= dp[i];
|
||||||
|
}
|
||||||
|
r++;
|
||||||
|
if (r > startPos && r < dp.length) {
|
||||||
|
sum += dp[r];
|
||||||
|
}
|
||||||
|
r++;
|
||||||
|
if (r > startPos && r < dp.length) {
|
||||||
|
sum += dp[r];
|
||||||
|
}
|
||||||
|
res = Math.max(res, sum);
|
||||||
|
}
|
||||||
|
|
||||||
|
start = startPos + k;
|
||||||
|
sum = 0;
|
||||||
|
for (int i = start; i >= startPos; i--) {
|
||||||
|
if (i < dp.length) {
|
||||||
|
sum += dp[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int l = startPos + k;
|
||||||
|
for (int i = start; i > startPos; i--) {
|
||||||
|
if (i < dp.length) {
|
||||||
|
sum -= dp[i];
|
||||||
|
}
|
||||||
|
l--;
|
||||||
|
if (l > 0 && l < dp.length && l < startPos) {
|
||||||
|
sum += dp[l];
|
||||||
|
}
|
||||||
|
l--;
|
||||||
|
if (l > 0 && l < dp.length && l < startPos) {
|
||||||
|
sum += dp[l];
|
||||||
|
}
|
||||||
|
|
||||||
|
res = Math.max(res, sum);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
}
|
24
src/main/java/com/dota/str/_2843/Solution.java
Normal file
24
src/main/java/com/dota/str/_2843/Solution.java
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
package com.dota.str._2843;
|
||||||
|
|
||||||
|
class Solution {
|
||||||
|
public int countSymmetricIntegers(int low, int high) {
|
||||||
|
int count = 0;
|
||||||
|
for (int i = low; i <= high; i++) {
|
||||||
|
String s = Integer.toString(i);
|
||||||
|
int n = s.length();
|
||||||
|
if (n%2!=0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
int l = 0, r = 0;
|
||||||
|
for (int j = 0; j < n/2; j++) {
|
||||||
|
l += s.charAt(j)-'0';
|
||||||
|
}
|
||||||
|
for (int j = n/2; j < n; j++) {
|
||||||
|
r += s.charAt(j)-'0';
|
||||||
|
}
|
||||||
|
if (l==r) count++;
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user