自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 收藏
  • 关注

原创 2022.07.31(LC_6133_分组的最大数量)

2022.07.31(LC_6133_分组的最大数量)

2022-07-31 15:02:34 162 1

原创 2022.07.31(LC_6132_使数组中所有元素都等于零)

2022.07.31(LC_6132_使数组中所有元素都等于零)

2022-07-31 14:57:53 228

原创 2022.07.24(LC_6126_设计食物评分系统)

2022.07.24(LC_6126_设计食物评分系统)

2022-07-24 16:51:10 191

原创 2022.07.24(LC_6125_相等行列对)

2022.07.17(LC_6125_相等行列对)

2022-07-24 16:06:33 131

原创 2022.07.24(LC_6124_第一个出现两次的字母)

2022.07.24(LC_6124_第一个出现两次的字母)

2022-07-24 15:23:37 101

原创 2022.07.19(LC_剑指 Offer II 041. 滑动窗口的平均值)

由于数字进入滑动窗口和移出滑动窗口的规则符合先进先出,因此可以使用队列存储滑动窗口中的数字,同时维护滑动窗口的大小以及滑动窗口的数字之和。

2022-07-19 11:25:18 166

原创 2022.07.17(LC_6121_裁剪数字后查询第 K 小的数字)

2022.07.17(LC_6121_裁剪数字后查询第K小的数字)

2022-07-17 15:34:57 90

原创 2022.07.17(LC_6164_数位和相等数对的最大和)

2022.07.17(LC_6164_数位和相等数对的最大和)

2022-07-17 15:30:56 108

原创 2022.07.17(LC_6120_数组能形成多少数对)

(LC_6120_数组能形成多少数对)

2022-07-17 15:03:36 100

原创 2022.07.10(LC_6113_无限集中的最小数字)

--既然集合是无限的,可以使用哈希表存放无限集没有的元素,移除无限集存在的元素。

2022-07-10 16:28:53 115

原创 2022.07.10(LC_6112_装满杯子需要的最短总时长)

方法二: //注:不管remainder是奇数还是偶数,都可以统一写成如下形式 //转换过程:首先(remainder - 1) / 2 + 1 + amount[2]转换后就是以下形式 //然后remainder / 2 + amount[2]先写成(amount[0] + amount[1] + amount[2]) / 2 //由于remainder是偶数,2amount[2]也是偶数,所以amount[0] + amount

2022-07-10 16:09:31 85

原创 2022.07.03(LC_6109_知道秘密的人数)

动态规划

2022-07-03 16:22:40 109

原创 2022.07.03(LC_6111_统计放置房子的方式数)

模拟

2022-07-03 15:41:31 51

原创 2022.07.03(LC_6108_解密消息)

模拟

2022-07-03 15:28:51 80

原创 2022.06.26(LC_6100_统计放置房子的方式数)

动态规划

2022-06-26 15:41:37 98

原创 2022.06.26(LC_6101_判断矩阵是否是一个 X 矩阵)

模拟

2022-06-26 15:35:41 118

原创 2022.06.23(LC_144,94,145_二叉树的前序、中序、后序遍历)

方法二:迭代

2022-06-23 21:56:40 142

原创 2022.06.19(LC_5218_个位数字为 K 的整数之和)

方法二:完全背包

2022-06-19 21:03:28 62

原创 2022.06.19(LC_5242_兼具大小写的最好英文字母)

将大写字母转化为小写:ch - 'A' + 'a'

2022-06-19 21:01:02 72

原创 2022.06.17(LC_215_数组中的第K个最大元素)

方法二:优先队列

2022-06-17 22:27:08 60

原创 2022.06.16(LC_152_乘积最大子数组)

①确定状态: maxP[i]表示以nums[i]结尾的最大子数组乘积; minP[i]表示以nums[i]结尾的最小子数组乘积;②转移方程: maxP[i] = Math.max(nums[i], Math.max(maxP[i - 1] * nums[i], minP[i - 1] * nums[i])); minP[i] = Math.min(nums[i], Math.min(minP[i - 1] * nums[i], maxP[i - 1]

2022-06-16 10:45:54 76

原创 2022.06.15(LC_221_最大正方形)

方法:动态规划①确定状态:dp[i][j]表示以(i,j)为右下角的正方形最大边长;②转移方程: ③初始条件和边界情况:i = 0,j = 0;④计算顺序:因为dp[i][j]由dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1] 推出,所以从小到大遍历。......

2022-06-15 22:39:08 47

原创 2022.06.15(LC_1277_统计全为 1 的正方形子矩阵)

①确定状态:dp[i][j]表示以(i,j)为右下角的正方形最大边长;②转移方程: ③初始条件和边界情况:i = 0,j = 0;④计算顺序:因为dp[i][j]由dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1] 推出,所以从小到大遍历。证明过程:1277. 统计全为 1 的正方形子矩阵的官方题解...

2022-06-15 22:29:55 198

原创 2022.06.15(LC_64_最小路径和)

①确定状态:dp[i][j]表示到grid[i][j]路径上的最小数字总和;②转移方程:dp[i][j] = Math.min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j];③初始条件和边界情况:dp[0][0] = grid[0][0];④计算顺序:因为dp[i][j] 由dp[i - 1][j]和dp[i][j - 1]推出,所以从小到大遍历。...

2022-06-15 21:05:30 102

原创 2022.06.15(LC_322_零钱兑换)

①确定状态:dp[i] 表示凑成总金额 i 所需的最少硬币个数;②转移方程:dp[i] = Math.min(dp[i], dp[i - coin] + 1); ③初始条件和边界情况:dp[i] = 0;④计算顺序:因为dp[i] 由 dp[i - coin] 推出,所以从小到大遍历。...

2022-06-15 17:34:46 79

原创 2022.05.29(LC_6079_价格减免)

方法:模拟import java.text.DecimalFormat;class Solution { public String discountPrices(String sentence, int discount) { String[] str = sentence.split(" "); for (int i = 0; i < str.length; i++) { if (satisfy(str[i])) { ...

2022-05-29 15:58:02 46

原创 2022.05.29(LC_6078_重排字符形成目标字符串)

方法:计数class Solution { public int rearrangeCharacters(String s, String target) { Map<Character, Integer> tMap = new HashMap<>(); for (char ch : target.toCharArray()) { tMap.put(ch, tMap.getOrDefault(ch, 0) + ..

2022-05-29 15:18:23 54

原创 2022.05.28(LC_516_最长回文子序列)

方法:动态规划①确定状态:dp[i][j]表示字符串s的下标范围[i, j]内的最长回文子序列长度;②转移方程:if(s.charAt(i)==s.charAt(j)){//长度为1或2的子序列if(j-i<2){dp[i][j]=j-i+1;//长度大于2的子序列...

2022-05-28 16:00:09 52

原创 2022.05.28(LC_5_最长回文子串)

方法一:暴力求解class Solution { public String longestPalindrome(String s) { int n = s.length(); String ans = ""; int maxLen = 0; for (int i = 0; i < n; i++) { for (int j = i + 1; j <= n; j++) { ..

2022-05-28 15:02:52 50

原创 2022.05.27(LC_647_回文子串)

方法一:暴力求解(O(n^3))class Solution { public int countSubstrings(String s) { int n = s.length(); int ans = 0; for (int i = 0; i < n; i++) { for (int j = i + 1; j <= n; j++) { if (satisfy(s.subst..

2022-05-27 22:37:37 62

原创 2022.05.26(LC_1143_最长公共子序列)

方法:动态规划①确定状态:dp[i][j]表示长度[0, i - 1]的字符串text1与长度[0, j - 1]的字符串text2的最长公共子序列;②转移方程:dp[i][j]=dp[i−1][j−1]+1, 当 text1[i - 1] == text2[j - 1];dp[i][j]=Math.max(dp[i−1][j],dp[i][j−1]), 当 text1[i - 1] != text2[j - 1];③初始条件和边界情况:dp[i...

2022-05-26 21:20:41 94

原创 2022.05.25(LC_718_最长重复子数组)

方法一:暴力求解 (写不出来)class Solution { public int findLength(int[] nums1, int[] nums2) { int n1 = nums1.length, n2 = nums2.length; if (n1 < n2) return findLength(nums2, nums1); int ans = 0; for (int i = 0; i < n1; i+..

2022-05-25 22:30:59 60

原创 2022.05.24(LC_674_最长连续递增序列)

方法一:枚举class Solution { public int findLengthOfLCIS(int[] nums) { int n = nums.length; int ans = 0; for (int i = 0; i < n; i++) { int pre = nums[i]; int count = 1; for (int j = i + 1; j..

2022-05-25 21:46:12 57

原创 2022.05.23(LC_300_最长递增子序列)

方法:动态规划①确定状态:dp[i] 为i之前包括i的以nums[i]结尾最长递增子序列长度;②转移方程:位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列 + 1 的最大值,所以:if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1),注意这里不是要dp[i] 与 dp[j] + 1进行比较,而是要取dp[j] + 1的最大值;③初始条件和边界情况:dp[0] = 1,每一个i,对应的dp[i](即最长上升...

2022-05-23 22:33:57 80

原创 2022.05.22(LC_6076_表示一个折线图的最少线段数)

方法:计算斜率--注意先排序--注意溢出和精度损失问题class Solution { public int minimumLines(int[][] stockPrices) { int n = stockPrices.length; if (n == 1) return 0; if (n == 2) return 1; Arrays.sort(stockPrices, (a, b) -> a[0] - b[0..

2022-05-22 11:38:46 65

原创 2022.05.22(LC_6075_装满石头的背包的最大数量)

方法:贪心class Solution { public int maximumBags(int[] capacity, int[] rocks, int additionalRocks) { int n = capacity.length; List<Integer> list = new ArrayList<>(); for (int i = 0; i < n; i++) { if (..

2022-05-22 11:35:43 94

原创 2022.05.22(LC_6074_字母在字符串中的百分比)

方法:简单计算class Solution { public int percentageLetter(String s, char letter) { int count = 0; for (char ch : s.toCharArray()) { if (ch == letter) { count++; } } return count * 1..

2022-05-22 11:32:34 50

原创 2022.05.21(LC_213_打家劫舍 II)

方法:动态规划class Solution { public int rob(int[] nums) { int n = nums.length; if (n == 1) { return nums[0]; } else if (n == 2) { return Math.max(nums[0], nums[1]); } return Math.max(ro...

2022-05-21 19:41:48 121

原创 2022.05.20(LC_198_打家劫舍)

方法:动态规划①确定状态:dp[i] 为偷窃第 i +1个房屋的最高金额;②转移方程:dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]);③初始条件和边界情况:dp[0]=nums[0];dp[1]=Math.max(nums[0],nums[1]);④计算顺序:因为 dp[i] 由 dp[i-1] 和 dp[i-2]推出,所以从前往后遍历--一维数组class Solution { public int rob(...

2022-05-20 21:20:31 93

原创 2022.05.20(LC_474_一和零)

方法:动态规划(转化为01背包)--三维数组class Solution { public int findMaxForm(String[] strs, int m, int n) { int length = strs.length; int[][][] dp = new int[length + 1][m + 1][n + 1]; for (int i = 1; i <= length; i++) { ...

2022-05-20 20:45:59 78

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除