力扣练习JAVA
练习
you_you666
这个作者很懒,什么都没留下…
展开
-
【刷力扣】练习JAVA 九(233. 数字 1 的个数)
!!!!!【此文章仅仅用于记录自己做题,文章毫无用处⚆_⚆】 【困难】 目录 题目描述: 解题分析(计数类模拟) 代码: 题目描述: 解题分析(计数类模拟) 一道经典的【数位DP】模板题简化版 简单来说就是,统计1在每个位置上出现的次数,累加起来即使所求。 分类讨论: 例举abcdefg,假设现在c位置 1》当c前面部分<ab,满足大小要求,后面部分任意取,则根据【乘法原理】,可得知数量有a...原创 2021-08-13 18:09:34 · 108 阅读 · 0 评论 -
【刷力扣】练习JAVA 八(516. 最长回文子序列)
!!!!!【此文章仅仅用于记录自己做题,文章毫无用处⚆_⚆】 目录 题目描述: 解题方法:动态规划 题目分析: 代码: 题目描述: 解题方法:动态规划 题目分析: 代码: class Solution { public int longestPalindromeSubseq(String s) {//动态规划 int n=s.length(); int [][]dp=new int [n][n]; ...原创 2021-08-12 23:07:40 · 108 阅读 · 0 评论 -
【刷力扣】练习JAVA基础 七(413. 等差数列划分)
!!!!!【此文章仅仅用于记录自己做题,文章毫无用处⚆_⚆】 目录 一、题目 二、解答 方法一:差分+计数(官方解答) 方法二:可以用动态规划(感觉差不多) 三、代码 一、题目 二、解答 方法一:差分+计数(官方解答) 只看解答和代码看不明白,用笔纸划拉划拉就明白了 方法二:可以用动态规划(感觉差不多) 三、代码 第一种方法的代码 class Solution { public int numberOfAr...原创 2021-08-10 23:29:44 · 102 阅读 · 0 评论 -
【刷力扣】练习JAVA 六(313. 超级丑数)
此题要在前两道题的前提下做,对题目理解会好些,一开始题目没看懂,看了讨论有人说要看看前两道关于丑数的题。263.丑数、264.丑数Ⅱ。所以先做了前两道题。 目录 263.丑数 一、题目: 二、解答以及代码: 264.丑数Ⅱ 一、题目 二、解答 解法:动态规划 三、代码 313.超级丑数 一、题目 二、解答 三、代码 263.丑数 一、题目: 二、解答以及代码: 题目较简单,将三个数2,3,5存入数组中,while循环除(比如2)直至除不尽,则到下一个数(比.原创 2021-08-09 22:22:53 · 106 阅读 · 0 评论 -
【刷力扣】练习JAVA五(1137. 第 N 个泰波那契数)
【简单】可以在看完题目下,自己写出来 目录 一、题目: 二、解答及代码 1、自己方法(比较简易) 2官方解法 解法一:动态规划 解法二:矩阵快速幂(复杂度低) 一、题目: 二、解答及代码 1、自己方法(比较简易) 建立新的数组 完整代码: class Solution { public int tribonacci(int n) { int []T=new int[n+1]; if(n>...原创 2021-08-08 20:29:40 · 114 阅读 · 0 评论 -
【刷力扣】练习JAVA四 [847. 访问所有节点的最短路径]
[没看懂] 目录 题目: 解答(官方解答) 解法一:状态压缩+广度优先搜索 代码: 题目: 解答(官方解答) 解法一:状态压缩+广度优先搜索 代码: class Solution { public int shortestPathLength(int[][] graph) { int n=graph.length; Queue<int[]>queue=new LinkedList<int[]>(..原创 2021-08-06 22:29:08 · 118 阅读 · 0 评论 -
【刷力扣】练习JAVA 三()
【根据官方题解理解后解答 使用官方解答方法一】 【图】【链表】 目录 题目: 解答: 【深度优先搜索+三颜色标记】 答题所用代码: 完整代码: 出过的错误: 题目: 解答: 【深度优先搜索+三颜色标记】 官方解答也比较详细 答题所用代码: class Solution { public List<Integer> eventualSafeNodes(int[][] graph) { int n...原创 2021-08-05 23:05:36 · 72 阅读 · 0 评论 -
【刷力扣】练JAVA二
目录 题目: 解题思路: 运行情况及代码: 解题过程中发生的错误点: 题目: 解题思路: 二分法+排序 若是要满足能组成三角形,两边之和要大于第三边 但每组都要相比就比较麻烦,就可以将所有长度按非降序排列,只要满足最小的两条边a+b>c(a<b)就可;第三天边c在比b大的边里寻找满足条件的. 利用二分法寻找nums[i]+nums[j] 找到满足nums[left]+nums[right]>nums[mid]最大的mid点,令k=mid。 最后sums+=k-j;原创 2021-08-05 21:56:22 · 78 阅读 · 0 评论 -
刷力扣(练JAVA)一 8月1日
刷力扣练习JAVA 力扣1337.矩阵中战斗力最弱的K行 题目: 给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。 请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。 如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。 军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。链接:https://leetcode-cn.com/problems/th原创 2021-08-01 23:37:56 · 144 阅读 · 0 评论