自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 antd modal

在modal外层套标签,然后在外层写样式,发现样式不生效, 原因在于生成的modal默认并不挂载当前节点下所以不生效。

2021-11-02 15:37:53 499

原创 Vue 路径地址有变动,但是页面并没有变化原因

因为模板里没有加<router-view></router-view>

2021-01-12 18:31:58 2689

原创 leetcode 518 零钱兑换2

分析题目:硬币是可以无限次使用,题目要求是得组成硬币的组合方式个数, 所以dp[n]状态表示的是 当目标值是 n 的时候,所能组成的组合方式 由于硬币可以无限次使用所以 在循环过程中采用正循环(如果硬币只能使用一次 ,那么倒序循环) class Solution { public int change(int amount, int[] coins) { ...

2020-04-08 17:17:35 170

原创 leetcode 474 一和零

思路:首先分析题目,要注意到m个0,n个1,而且每个01 只能使用一次,所以联系01背包问题; 由于有m个0,n个1;所以状态空间为m*n的矩阵,dp[m][n] 代表的含义就是m个0,n个1的条件下,最多能满足的字符串个数, 还有一点要注意的,我们不能顺序的循环状态,因为会发生覆盖问题,所以循环仿方面采用倒序 class Solution { public int findMax...

2020-04-07 11:31:47 159 1

原创 Flask 工程中遇到的一些问题 jquery没反应 ;Ajax 解析;

在Flask工程中遇到的问题,首先是jquery无法使用,我就很蒙蔽 经过排查发现 #原始引入script的语句 #这个路径就是我存放JS文件的地方,但是路径没错 但就是不对 <script src="D:\project\untitled1\static\jquery-3.4.1.min.js"></script> #改正后能使用jquery <scrip...

2020-03-28 14:37:42 800

原创 leetcode 695 岛屿的最大面积

思路: 就是运用DFS深搜 先定义方向 然后定义dfs 递归函数,判断何时继续走,何时中止 然后在主函数循环遍历地图调用 dfs class Solution { int [][]direction = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; public int ...

2020-03-05 21:08:07 104

原创 leetcode 127 单词接龙

思路:BST 方向 :{a,b,c.......z} 设置一个queue ,记录当前位置 先是外层循环(queue != null) 如果 这个循环走完, 说明中间没返回, 直接返回0; 每一次循环 路径++; 然后是 弹出队列中, 然后循环 字符的每一位然后 进行 方向循环,用每一个方向修改字符 如果在wordlist中存在,就放进queue ...

2020-03-03 22:38:53 105

原创 leetcode 763 划分字母区间

思路: 主要思路还是利用JAVA的s.lastIndexOf(char) 用这个来从右到左寻找字符c出现的最后一个位置end, 然后循环寻找 刚才字符的下一个字符最后出现的位置 直到寻找到最长end class Solution { public List<Integer> partitionLabels(String S) { List<I...

2020-03-01 21:17:37 132

原创 leetcode 53 最大子序和

思路:先令max = nums[0], ans = nums[0] 开始遍历数组,如果当前的ans小于0,则 ans直接 = nums[i] 如果 ans > 0,那么ans 就可以加上当前的值 每循环一次 就判断max(max, ans)最后总能找到最后的最大值 class Solution { public int maxSubArray(int[] nums) { ...

2020-03-01 20:35:35 94

原创 leetcode 605 种花问题

思路:遍历数组,只有 当前位置不为1且 前一个不为1, 后一个不为1, 就可以。 不过要注意边界部分 class Solution { public boolean canPlaceFlowers(int[] flowerbed, int n) { if(n == 0) return true; int num = flowerbed.length;...

2020-03-01 19:23:04 132

原创 leetCode 122 买卖股票的最佳时机ll

思路: 就是贪心 ,比前一天的大就卖了,就是贪 , 主要原理 a < b < c _____ c - a = b -a + c - b; class Solution { public int maxProfit(int[] prices) { int profit = 0; for (int i = 1; i < prices.le...

2020-02-29 22:48:06 86

原创 leetcode 121 买卖股票的最佳时机

思路: 就是遍历数组,寻找 最大值 与 最小值的最优差 由于不能以现在的低价格 以 以前的高价格卖出,所以 每当最小值更新时,最大值重置为0; class Solution { public int maxProfit(int[] prices) { int max = 0; int min = Integer.MAX_VALUE; i...

2020-02-29 22:08:52 78

原创 leetcode 406 根据身高重建队列

思路:高个会无视前面的低个,所以按照身高从大到小,同时K值按照从低到高排 然后遍历比较所在位置 和 K值的差 差多少 往前移多少 class Solution { public int[][] reconstructQueue(int[][] people) { int n = people.length; if(n == 0 || n == 1) ...

2020-02-29 21:45:02 94

原创 leetcode435 无重叠区间

思路 :主要注意到题目 每一对 都是后一个严格大于前一个,所以我们对二维数组按照a[1]进行排序 判断思路就是 intervals[i][0] > intervals[i+1][0] 说明用重叠 去掉后面的(为什么去后面的 因为贪心,去掉后一个 ,即使 再往后走能满足去掉的那个, 那么更能满足留下的前一个) class Solution { public int eraseOv...

2020-02-28 17:59:59 84

原创 leetcode 455 发放饼干

思路:贪心算法 就是先对胃口从小到大排序 再对饼干从小到大排序 遍历小饼干, 同时跟当前小朋友胃口比较,满足,num++, 下一个小朋友 class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); ...

2020-02-28 17:08:21 131

原创 leetcode 最长数对链

思路: 利用动态规划,用dp[i] 存储第i个位置最能达到的最长链个数, 然后利用双重循环,每到一个位置,从后往前遍历寻找 但是,要注意的一点,在进行动态规划时一定要先将二维数组的第一个值按照从小到大排序才行 class Solution { public int findLongestChain(int[][] pairs) { int n = pairs.len...

2020-02-27 22:18:09 116

原创 leetcode 279 完全平方数

思路: 跟leetcode 343 分割整数最大积 的思路一样,利用动态规划,存储每个 i 值完全平方数 的最小个数, 然后再利用双重循环,dp[a]=Math.min(dp[a],dp[a-b*b]+1); 这样去寻找最小个数,为啥是b*b,因这样就等于 dp[i - b*b]的最小个数 + 1即可,这样可以节省时间 class Solution { public...

2020-02-25 16:47:44 105

原创 leetcode 343整数拆分

思路:面对整数拆分,来求最大积,首先第一想法是 双重循环寻找,两个子数的最大积 但是,注意本题要求,要求是 不只两个数,所以这个方法肯定不行, 但是我们可以修改以上思路,那就是利用动态规划,dp[i]存储的就是数字 i 最大子数之积,然后再利用双重循环,但是不再是判断最大两个子数之积,而是判断两个子数的最大积的最大积(这样判断,就可以把这个数分成不止两个,从而得到的是最大的),(注意有的数本身...

2020-02-25 15:57:50 110

原创 leetcode 303 区域和检索 - 数组不可变

思路:利用动态规划,将dp[i]代表的是从 0 加到 i 的和 submerge(i, j)= dp [j] - dp[i -1]; //当i != 0的情况下,因为要加上nums[i] ,所以减去的是dp[i - 1]; 当i== 0; 直接返回 dp[i] class NumArray { int dp[]= new int[10000]; public Nu...

2020-02-24 13:06:18 98

原创 leetcode 62不同路径

思路: 就是利用动态规划,每一给dp[][]存储的是到达该点的路径总数,具体思路我写在了代码里 因为方向只能向左向下,所以二重循环遍历二维数组是合理的 class Solution { public int uniquePaths(int m, int n) { //思路: int [][]dp = new int[m][n];//dp当然存的是到该...

2020-02-24 12:38:50 69

原创 leetcode 64 最小路径

思路: 利用动态规划的思路; 在二维矩阵中,只能向右, 向下 :分别对应 横坐标 ++; 纵坐标 ++; 每一个dp[i][j]代表的是到达该点的最小距离 到达任意一点的最小路径= Math.min(从上方往下走, 从左边往右走) } //当然这是在该位置上方有路, 左边有路的情况下 所以我在程序中,这一步的判断我分成两步, 因为有可能其中一条路没有,无法比较 class Sol...

2020-02-24 12:28:11 65

原创 leetcode 213 打家劫舍ll

思路:与原本的打家劫舍单排类似,对于环形的房子,我们采取的策略是 分成两列统计一下1。有头无尾 2。有尾无头 然后两个作比较。 class Solution { public int rob(int[] nums) { int dp[] = new int[nums.length + 1]; int dp2[] = new int[nums.le...

2020-02-23 16:57:51 63

原创 leetcode 198 打家劫舍

思路:利用动态规划,dp[n] 数组存储的是强盗到每个房子的能抢到的最大值,为了统一方便dp[0]代表刚开始还没房子值为0,dp[1]当然就是第一个房子的值,dp[2] = MAX(第二间房子值 + dp[0] 隔开前一个的位置, dp[1]),所以我们能得到动态方程 dp[n] = MAX(第n间房子值 + dp[n - 2], dp[n -1]) 这里需要注意的是我们要设置 dp[0] ...

2020-02-23 16:11:17 67

原创 leetcode 70 爬楼梯

思路:第一种思路就是利用递归,从上往下走,但是会超时所以不用这种方法 第二种思路就是动态规划 ,关键步骤是 dp[n] = dp[n-1] + dp[n -2]; 用一个数组存储到每一层的方法个数,而每层可以用前一阶走一步到这儿,前两阶走两步到这儿,所以dp[n] = dp[n-1] + dp[n -2]; 地 class Solution { public int climbS...

2020-02-23 11:35:08 61

原创 leetcode 128 最长连续序列

思路:先将所有数放进HashMap中,然后就, 遍历Hashmap,挨个判断连续最大值 class Solution { public int longestConsecutive(int[] nums) { int max = 0; Map<Integer, Integer>map = new HashMap<>(); ...

2020-02-22 00:04:47 136

原创 leetcode 594 最长和谐子序列

思路: 就是利用HashMap的containsKey()函数;遍历HashMap,遍历过程中,比较出最大 (max , 当前的value + key加减1的value) class Solution { public int findLHS(int[] nums) { Map<Integer ,Integer> map = new HashMap<...

2020-02-21 22:02:50 149

原创 leetcode 1 两数之和

思路:因为是两个数之后,并且具有数 与 其在数组里的对应关系 , 所以我们想到利用HashMap存储,数与位置,(由于数组中有可能存在两个相同的数,并且也有可能答案就是这两个数之和,),为了避免这种情况,我们采用边判断是否containsKey(target - nums[i]),边往hashmap里放数值,一定要先判断再放值。 class Solution { public i...

2020-02-21 21:31:17 96

原创 leetcode 75颜色分类

思路:采取快排排序,反正就3个数 class Solution { public void sortColors(int[] nums) { //桶排序 QuickSort(nums, 0, nums.length - 1); } public void QuickSort(int []nums, int i , int j) ...

2020-02-21 18:44:55 68

原创 leetcode 451 根据字符出现频率排序

思路: 先把String 转成 CharArray ,然后遍历字符数组将根据频度放入到HashMap中,然后遍历hashMap放到PriorityQueue(大根堆(就是重写compare函数))然后一个字符一个字符的弹出来,组建新的字符串 class Solution { public String frequencySort(String s) { char[] A...

2020-02-21 17:29:01 72

原创 leetode 347 前k个高频元素

思路:因为有时间复杂度限制 一 :利用堆排序(nlogn),这里采用java 自带的PriorityQueue队列 (默认是小根堆,所以要重写compartor里的compare()函数,将其改成大根堆,实际上是比较 hashmap频度的大根堆)。总体流程: 先把 num(key) 以及其频度(value) 放入 HashMap中,再将key遍历放入PriorityQueue 中,然后往外取k ...

2020-02-18 17:48:14 280

原创 leetcode 215 数组中的第k个 最大元素

思路: 选择用快速排序,简单说一下快速排序,首先来说,快排一趟的流程是先选出一个标准值P(一般选用数组第一个),首先从后往前寻找一个小于P的值,记住此下标(代码中位high),并把这个元素值赋给前半部分的low下标的元素值,然后再从前往后寻找一个大于P的值,记录此下标low,把这个大于P的值,赋给刚刚的high下标,一直循环直到(low > = high )为止, 整体的快排,先对整个,再...

2020-02-18 12:18:41 94

原创 leetcode 231 2的幂

思路:就是判断2进制的1的个数大于1个就不是 2.利用 n&(-n) 得到低位1,判断与原n是否相同 public boolean isPowerOfTwo(int n) { return n > 0 && (n & (n - 1)) == 0; } public boolean isPowerOfTwo(int n) { return...

2020-02-17 15:57:32 62

原创 leetcode 190 颠倒二进制位

思路:以循环的方式,不断的把最后一位前进相应的位数,再进行相加 public class Solution { // you need treat n as an unsigned value public int reverseBits(int n) { int ans = 0; int item = n; for (int i...

2020-02-17 15:42:46 77

原创 leetcode 268 缺失数字

思路:还是利用本身与本身异或为0;本身与0异或为本身 由于是1,2,3,,,n存在数组里,刚好与下标+1构成相同对,只有缺失的数字构不成两个,所以异或后得到的结果就是答案 class Solution { public int missingNumber(int[] nums) { int z = 0; int num = 1; for...

2020-02-17 11:37:12 90

原创 leetcode 136 只出现一次的数字

思路:由于重复的数字只会出现两次所以,根据两个相同的数进行异或=0,与0异或是本身的原理,循环异或即可得到答案 class Solution { public int singleNumber(int[] nums) {//思路:异或排除相同两次 与0异或s还是本身 int z = 0; for(int n : nums) { ...

2020-02-17 11:19:47 61

原创 leetcode 461 汉明距离

思路: 汉明距离,首先将两个数异或^运算,然后再进行统计运算后得到的1的个数 两种方法统计1的个数: 1. 利用Integer.bitCount()来计算 2.将得到的值循环向后移一位,并判断最后一位是否为1 class Solution { public int hammingDistance(int x, int y) { // return Integer.bi...

2020-02-17 11:13:06 63

原创 leetcode 503 下一个更大元素ll

思路:就是双循环寻找下一个最大值,不过运行效率极低 class Solution { public int[] nextGreaterElements(int[] nums) { int n = nums.length; int []next = new int[n]; Arrays.fill(next,-1); for(...

2020-02-16 11:57:16 146

原创 leetcode 20 有效的括号

思路:每次添加新的字符时,判断当前字符与栈顶字符是否匹配(匹配原则 ()两个字符ASCII相差1,{} [] 两个字符ASCII相差2) 匹配则弹出栈顶,不匹配把当前的字符压入,最后判断栈空不空,空就匹配上了 class Solution { public boolean isValid(String s) { Stack<Character> st = ...

2020-02-16 10:55:15 110

原创 leetcode 155 最小栈

思路: 利用两个栈,保持两个栈元素个数相等,对应位置的元素,一个时压进来的元素,一个是属于这个位置的最小元素 class MinStack { Stack<Integer> st = new Stack<>(); Stack<Integer> min = new Stack<>(); /** initialize your...

2020-02-16 10:36:04 71

原创 leetcode 225 用队列实现栈

思路:利用队列实现栈,只有每次添加时,改变添加方式,向队头 class MyStack { Queue<Integer> list = new LinkedList<>(); /** Initialize your data structure here. */ public MyStack() { } ...

2020-02-16 10:22:15 74

软件构造原理作业 lab03

软件构造原理(外教课)lab03 使用并行计算圆周率 作业 c# 就是利用 C#语言来比较串行和并行时间 内附代码,使用 VS即可

2020-10-29

空空如也

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

TA关注的人

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