学习目标:
每天2-3到简单sql(刷完即止),每天复习代码随想录上的题目2-3道算法(时间充足可以继续),背诵的八股的问题也在这里记录了
今日碎碎念:
1)科四没时间考了,等实习完回来再说咯
力扣刷题
算法
力扣344:344. 反转字符串
解答思路:
1)两种做法,临时变量,位运算
临时变量
class Solution {
public void reverseString(char[] s) {
int l = 0;
int r = s.length - 1;
while(l < r){
char tmp = s[l];
s[l] = s[r];
s[r] = tmp;
l++;
r--;
}
}
}
位运算
class Solution {
public void reverseString(char[] s) {
int l = 0;
int r = s.length - 1;
while(l < r){
s[l] ^= s[r]; //构造 a ^ b 的结果,并放在 a 中
s[r] ^= s[l]; //将 a ^ b 这一结果再 ^ b ,存入b中,此时 b = a, a = a ^ b
s[l] ^= s[r]; //a ^ b 的结果再 ^ a ,存入 a 中,此时 b = a, a = b 完成交换
l++;
r--;
}
}
}
力扣541:541. 反转字符串 II
解答思路:
1)思路直接一点的话也可以另外写一个交换函数,利用continue的方式。
class Solution {
public String reverseStr(String s, int k) {
char[] cs = s.toCharArray();
int len = cs.length;
for(int i = 0;i < len; i+= 2*k){
int start = i;
//判断剩下几个
int end = Math.min(start+k-1 ,len-1);
while(start < end){
char tmp = cs[start];
cs[start] = cs[end];
cs[end] = tmp;
start++;
end--;
}
}
return new String(cs);
}
}
八股
JVM
内存区域
类加载
什么是双亲委派机制
垃圾回收机制
常见的垃圾回收算法,垃圾回收器