自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

厚积薄发的博客

一个热爱技术的程序员

  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 String 类为什么用final修饰

1.为了实现字符串池2.线程安全3.Hashcode 被缓存,不需要重新计算.这就是map中的键都使用string 作为键参考:https://www.jianshu.com/p/9c7f5daac283

2020-02-26 12:02:55 1252

原创 FasfDFS 单机部署及springboot整合fastDFS实现文件上传

fastDFS 单机环境部署参考资料:https://blog.csdn.net/baidu_29609961/article/details/77692770springboot 整合fastDFS参考资料:http://www.ityouknow.com/springboot/2018/01/16/spring-boot-fastdfs.html...

2020-02-26 09:51:48 321

原创 leetcode 11. 盛最多水的容器

解题思路:1.暴力法 双层遍历 时间复杂度O(n^2) 空间复杂度O(1)2.双指针法 左右指针从两侧向中间遍历 时间复杂度O(n) 空间复杂度O(1)代码: public static void main(String[] args) { int[] arr={1,8,6,2,5,4,8,3,7}; int num = maxArea2...

2020-02-20 22:38:08 125

原创 leetcode 8. 字符串转换整数 (atoi)

解题思路:使用long 类型作为数据的返回结果,以此遍历字符串中每个字符,进行迭代。ans=10*ans+(str.charAt(i)-'0');在整个过程中有大量的边界条件。代码:public static void main(String[] args) { String str="9223372036854775808"; int nu...

2020-02-20 21:40:20 138

原创 leetcode 7. 整数反转

整数反转1.popint pop=x%10;x/=10;2.pushans=ans*10+pop;代码: public static void main(String[] args) { //2.147483647E9 System.out.println(Math.pow(2,31)-1); // Sy...

2020-02-17 15:03:26 162

原创 leetcode 3 无重复字符的最长子串

解题思路:1. 暴力法2. 滑动窗口3.对滑动窗口进行优化代码:import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;public class Test33 { public static void main(String[] a...

2020-02-16 21:41:42 79

原创 java 利用aop面向切面的编程思想对敏感字段进行加解密

参考资料:https://my.oschina.net/u/3031503/blog/3046574

2020-02-14 21:46:07 754

原创 vscode 新建html页面

https://www.jianshu.com/p/4926f87534eb

2020-02-14 15:09:07 1070

原创 leetcode 208. 实现 Trie (前缀树)

实现方式:1.一个数组2. 节点的状态标记代码:Node root; /** Initialize your data structure here. */ public Trie() { root=new Node(); } /** Inserts a word into the trie. */ public voi...

2020-02-14 10:18:27 167

原创 centos7 selinux引起linux 启动报错

https://blog.51cto.com/10950710/2131803

2020-02-11 16:19:41 242

原创 leetcode 50. Pow(x, n)

解题思路:1.使用自带的库函数2.遍历3.分治算法 递归/非递归public static void main(String[] args) { double num = myPow2(2,-2); System.out.println(num); } /** * @Description: 使用库函数 ...

2020-02-10 19:44:48 138

原创 leetcode 236. 二叉树的最近公共祖先

解决办法:方法一:递归遍历 节点只能在左边或者右边,left 不为空,right为空,公共祖先是left;left为空,right不为空,公共祖先是right,left和right都不为空,公共祖先是root方法二:寻找两个节点的路径,找到第一个不相等的节点,返回上一个节点代码:public static void main(String[] args) { ...

2020-02-09 23:18:01 140

原创 leetcode 98. 验证二叉搜索树

方法一:1.中序遍历,判断中序遍历的数组是否是升序。方法二:1.递归遍历,边界条件 判断所有左子树的节点小于根节点,所有的右子数的节点大于根节点代码:public static void main(String[] args) { TreeNode treeNode1=new TreeNode(2); TreeNode treeNode2=ne...

2020-02-09 18:33:56 153

原创 位运算常用的操作

1.x&1 判断是奇数还是偶数 x&1==0 是偶数 x&1==1 是奇数2.x&(x-1) 清除最低位的13.x&-x 获得最低位的1代码:public static void main(String[] args) { System.out.println(Integer.toBinaryString(11));...

2020-02-09 11:26:58 267

原创 LinkedHashMap按照访问顺序排序的效果

参考博客:https://www.cnblogs.com/xiaoxi/p/6170590.html

2020-02-09 08:24:32 386

原创 leetcode 547. 朋友圈

统计朋友圈的个数方法一: 使用dfs深度优先算法使用一维数组visited 判断元素是否被使用过, 深度优先的判断条件:grid[i][j] == 1 && visited[j] == 0 没有访问过且是朋友方法二: 使用bfs广度优先算法使用一维数组visited 判断元素是否被使用过, 深度优先的判断条件:grid[i][j] == 1 &&...

2020-02-08 18:02:49 263

原创 leetcode 200. 岛屿数量

解决思路:1.染色从当前元素出发,向四个方向dfs 遍历,把当前位置标记为02.并查集定义并查集类,遍历二维矩阵,如果如果当前位置元素是1,遍历四个方向的元素且元素是1,执行union 操作.这里的并查集,每一次合并一个元素,count就会减1,最后的count就是岛屿的数量。并查集解决方案:代码:public class UnionFind { int[...

2020-02-08 11:25:54 104

原创 并查集

并差集(union & find)是一种树形结构的数据结构,用于处理一些不交集(Disjoint Sets)的合并和查询问题.find: 确定元素属于哪一个子集,它可以被用来判断确定两个元素是否是属于同一个子集union: 将两个子集合并成同一个集合。实现方式:使用一个一维数组,一个find 方法查找属于哪个集合,一个union 合并两个子集代码实现:package c...

2020-02-06 23:09:57 103

原创 leetcode 72. 编辑距离

解决思路:动态规划两个核心的概念: 1.状态数组的含义 2.递归方程状态数组的含义 dp[i][j]: word1的前i个字符--->word2的前j个字符的最小步数dp[i][j]= dp[i-1][j-1] word1[i]==word2[j] min(dp...

2020-02-06 10:47:09 77

原创 leetcode 322. 零钱兑换

动态规划递推方程:dp[i]: 达到金钱i使用的最少的兑换次数dp[i]= min(dp[i],dp[i-coins[j]]+1) j=0...coins.lemgth代码: public static void main(String[] args) {// int[] coins = {1, 2, 5};// int amount = 1...

2020-02-05 20:01:18 123

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

动态规划代码: public static void main(String[] args) { int[] prices={7,1,5,3,6,4}; int num = maxProfit(prices); System.out.println(num); } public static int maxProfit(i...

2020-02-04 17:58:01 77

原创 leetcode 152. 乘积最大子序列

解题思路:动态规划使用滚动数组,减少数组的开辟的空间dp[i][0]: 数组下表从0到i 使用nums[i]的乘积最大的值dp[i][1]: 数组下表从0到i 使用nums[i]的乘积最小的值为什么使用最大值和最小值?答: 因为当前元素可能为正也可能为负,如果为正,使用最大值,如果为负,使用最小值。 int x=i%2; int y=(i-1)%2; ar...

2020-02-04 09:18:24 216

原创 leetcode 120. 三角形最小路径和

结题思路:自底向上遍历动态规划递推公式:arr[j]=Math.min(arr[j],arr[j+1])+triangle[i][j];时间复杂度O(n^2),空间复杂度O(n)代码 //时间复杂度O(n^2),空间复杂度O(n^2) public static int minimumTotal(List<List<Integer&gt...

2020-02-03 17:48:23 91

原创 leetcode 338. 比特位计数

比特位技术的解题思路:方法一: 动态规划1.arr[i]=arr[i&(i-1)]+1方法二: 遍历每一个数字,获得每个数字的1的个数代码public static int[] countBits(int num) { int[] arr=new int[num+1]; for(int i=0;i<=num;i++){ ...

2020-02-02 17:45:04 88

原创 leetcode 231 2的幂

2的幂解题思路是2的幂 n&(n-1)==0不是2的幂 n&(n-1) !=0代码 public static boolean isPowerOfTwo(int n) { if (n > 0) { return (n & (n - 1)) == 0; } return ...

2020-02-02 15:58:11 138

原创 leetcode 191. 位1的个数

方法1:从右到左,以此判断每一位。是否是1,如果是累加方法2:n=n&(n-1)代码public static void main(String[] args) { int n = -100; int count = hammingWeight(n); System.out.println(count); ...

2020-02-02 15:35:45 127

原创 负数的表述方法

在二进制码中,通过最高位判断是正数还是负数,正数最高位是0,负数最高位是1.剩下的就是这个数的绝对值部分。通过将负数转为二进制原码,再求其原码的反码,最后求得的补码即负数的二进制表示结果。比如整数-1。1.先取1的原码:00000000 00000000 00000000 00000001,2.得反码: 11111111 11111111 11111111 11111110,3.加...

2020-02-02 13:06:35 1047

matlab入门

matlab基础在线性代数中的运用,很有价值。

2015-07-21

空空如也

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

TA关注的人

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