09 2020 档案
摘要:建议去B站先看下子路老师的视频 ReentrantLock源码 synchronized通过在对象头的markword进行操作从而实现互斥锁 ReentrantLock通过将线程加入AQS阻塞队列从而实现同步互斥锁 首先初始化一个ReentrantLock ReentrantLock lock =
阅读全文
摘要:Java的一个重要特性就是通过垃圾收集器(GC)自动管理内存的回收,而不需要程序员自己来释放内存。理论上Java中所有不会再被利用的对象所占用的内存,都可以被GC回收,但是Java也存在内存泄露,但它的表现与C++不同。 JAVA 中的内存泄露 Java中的内存泄露,广义并通俗的说,就是:不再会被使
阅读全文
摘要:Session和Cookie的异同点 不管是session还是cookie,在服务端的response都是一个Set-Cookie字段,然后客户端下次提交时,都是一个Cookie字段。 session信息是存在服务器端的 因为session信息在服务器,所以当用户把浏览器关闭之后,下次打开浏览器时,
阅读全文
摘要:第一轮算法题:每隔N个节点反转单链表 void reverse(ListNode* pHead, int n){ if(pHead == nullptr) return ; // 先求出链表总长度 int len = 0; ListNode* pNode = pHead; while(pNode !
阅读全文
摘要:第一题 有效的括号 leetcode原题,但我一直80%,后面发现是可以多行输入的,猝。。。 public static void main(String[] args) { // TODO Auto-generated method stub // 定义辅助栈 Stack<Character> s
阅读全文
摘要:1 求疫情聚集区域的个数 其实就是求连续的1的区域个数,简单DFS。 int mapp[110][110]; int dfs(int rows, int cols, int x, int y){ if((x < 0) || (x >= cols) || (y < 0) || (y >= rows)
阅读全文
摘要:static修饰变量。在类加载的时候,初始化顺序按照类定义的顺序执行。也就是父类顺序初始化—>子类顺序初始化。只执行一次 static修饰代码块。在类加载的时候,按照类定义的顺序执行。也就是父类顺序执行static块—>子类顺序执行static块。只执行一次 static方法就是没有this的方法。
阅读全文
摘要:第一题:电报破解 其实就是字符串模拟,给一个字符串(含空格),以及反转的长度。最终将字符串破解。 #include <iostream> #include <vector> #include <stack> #include <string> #include <cstring> #include
阅读全文
摘要:一定要注意一下几点: 只要使用引用变量 a 来加一个常量池内容"xxx"或者引用变量,都是放在堆里 intern()返回的是常量池中字符串的引用,而不是堆中字符串的引用 首先看第一个字符串比较的例子 public static void main(String[] args){ String a =
阅读全文
摘要:对象在内存中的内存布局 用sychronized锁住对象后该对象的锁状态升级过程:new - 无锁态 - 偏向锁 - 轻量级锁/自旋锁/无锁 (CAS)- 重量级锁 - GC标记信息 线程的几个状态 NEW(新建状态) Runnable Ready(就绪状态,线程被放在等待队列中,等着被CPU执行)
阅读全文
摘要:0 有效的括号 class Solution { public boolean isValid(String s){ Stack<Character> stack = new Stack<Character>(); for(char c : s.toCharArray()){ if(c == '('
阅读全文
摘要:题目描述 输入一个链表,反转链表后,输出新链表的表头。 解题思路 定义2个辅助节点: 上一个节点 下一个节点 完整代码 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL)
阅读全文
摘要:题目描述 设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能 set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的value值 [要求] set和get方法的时间复杂度为O(1) 某个key的set或get操作一旦发生,
阅读全文
摘要:你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24。 示例 1: 输入: [4, 1, 8, 7] 输出: True 解释: (8-4) * (7-1) = 24 示例 2: 输入: [1, 2, 1, 2] 输出: False class Sol
阅读全文
摘要:0-1背包问题(二维dp) 0-1背包升级版(二维dp) 完全背包(费解)如凑领钱(一维、二维dp) 子序列问题(重要) 最长递增子序列(一维dp) 最长公共子序列(二维dp) 最长回文子序列(二维dp) 最短编辑距离(二维dp) 最短路径(机器人走路)(二维dp) 第一步要明确两点,「状态」和「选
阅读全文
摘要:已投企业/部门 账号密码与备注 投递时间 投递方式 状态 招商银行 2020-08-08 牛客内推 简历筛选 绵阳市商业银行股份有限公司 2020-06-15 官网投递 简历筛选 联发科/嵌入式开发 2020-06-16 官网投递 未参加笔试 美的集团 SWUST28;Edward1022 2020
阅读全文
摘要:这里先提前注意一下,子串和子序列是两个不同的东西: 子串:连续的子字符串/数组 子序列:可以不连续(可间断)的子字符串/数组 回文串是面试常常遇到的问题(虽然问题本身没啥意义),本文就告诉你回文串问题的核心思想是什么。 首先,明确一下什:回文串就是正着读和反着读都一样的字符串。 比如说字符串aba和
阅读全文