摘要:原题链接:https://leetcode-cn.com/problems/minimum-path-sum/ class Solution { // 动态规划的问题 // dp[i][j] 值表示 i,j 位置到 最右下角的最小数字和 public int minPathSum(int[][] g
阅读全文
摘要:原题链接:https://leetcode-cn.com/problems/maximum-subarray/ class Solution { // 动态规划 public int maxSubArray(int[] nums) { // 记录当前为位置的前一个位置已经得到的最大值 int pre
阅读全文
摘要:原题链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/ /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode
阅读全文
摘要:原题链接:https://leetcode-cn.com/problems/coin-change/ class Solution { public int coinChange(int[] coins, int amount) { int[] dp = new int[amount + 1]; /
阅读全文
摘要:现象:依赖出现现象,同时引用了同一个依赖 ,但是版本不同,发现调用的不是想要的库 解决思路: maven的引用原则有两: 1 ,最短路径原则,比如A引了B,B引了C ,C引了依赖k1.0版本 然后A直接引了k2.0版本,那A就会用k2.0版本,因为这个更近 2 如果路径长度相同的情况下,在pom 谁
阅读全文
摘要:https://blog.csdn.net/varyall/article/details/81283231 jdk8中,采用多线程扩容。整个扩容过程,通过CAS设置sizeCtl,transferIndex等变量协调多个线程进行并发扩容。 扩容相关的属性 nextTable 扩容期间,将table
阅读全文
摘要:来源:https://www.cnblogs.com/taochen-go/p/9475947.html 【内存图画的很好】 String s = new String(“hello”)和String s = “hello”; String s = new String(“hello”)会创建2(1
阅读全文
摘要:原题链接:https://leetcode-cn.com/problems/longest-palindromic-substring/ class Solution { // 思路:【动态规划】 // 状态转移方程是 p[i,j] = p[i+1,j-1] && p[i] = p[j] // p[
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ /** * Definition for a binary tree node. * public class TreeNode { * int val; * T
阅读全文
摘要:原题链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ class Solution { public int lengthOfLongestSubstring(String s) {
阅读全文
摘要:行文思路: 1 基本用法 2 final 关键字原理 3 与static关键字的区别 1 基本用法: a,final关键字修饰类。表明这个类不能被继承,一般来讲,除非这个类专门不让别人继承或者出于安全考虑,一般不要将类设置为final,此外,final修饰的类的成员方法会被隐式的制定为final 方
阅读全文
摘要:原题链接:https://leetcode-cn.com/problems/3sum/ class Solution { public List<List<Integer>> threeSum(int[] nums) { // 首先数组进行排序【排序的目的是为了找出来的值不会重复】 // 然后利用双
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/merge-sorted-array/ class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { // 思路: // 双指针的方
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/ 1 先快速排序,再取第 K个 class Solution { public int findKthLargest(int[] nums, int k) {
阅读全文
摘要:volatile 的主要作用有两个方面【可见性/顺序性[防止指令重排序]】 可见性: 首先熟悉一下JVM的内存工作模型[注意这里的工作模型不是堆/栈/方法区这些], 线程本身并不直接与主内存进行数据的交互,而是通过线程的工作内存来完成相应的操作。这也是导致线程间数据不可见的本质原因。因此要实现vol
阅读全文
摘要:具体题目请访问题目链接:https://leetcode-cn.com/problems/two-sum/ 思路: 1 暴力,两层循环直接干上去,这样干上去简单好做,但是可能就今天面试就到这里吧,等通知。 2 利用hash表存储,取代调一层循环 key存储数组具体的值,value存储数组的下标,判断
阅读全文