SQL50+Hot100系列(11.8)
一 SQL
1 无效的推文
题目描述

案例展示

思路分析
主要是去注意一下字节数与字符数在数据库当中对应函数的使用,本题当中统计的是字符数。
char_length 字符数
length 字节数
代码展示
# Write your MySQL query statement below
select tweet_id
from Tweets
where char_length(content)>15;2 使用唯一标识码替换员工
题目描述

题目案例


思路分析:
考察一个左外连接的使用
代码展示:
# Write your MySQL query statement below
SELECT e.name,eu.unique_id
FROM Employees e
LEFT JOIN EmployeeUNI eu ON e.id = eu.id;二 算法
1 最长连续序列
题目描述

思路分析:
1 首先将数据维护到哈希表当中,借助其contains的快速判断,优化性能。
2 遍历哈希表,当拿取到数据后,我们维护的是从最小往上去进行加,如果说拿到一个数 为4的话,但是没有3,那么就维护变量为current为4,从4向上去进行遍历并将长度变量更替。
3 最后维护一个迄今为止的最大max与当前状态的max去进行比较,然后根据大小去更替。
主要还是一个contains的使用以及如何去迭代判断同时维护最大的那个变量的过程。
代码展示:
class Solution {public int longestConsecutive(int[] nums) {Set<Integer> set = new HashSet<>();for (int i:nums){set.add(i);}int max = 0;for(int j:set){if(!set.contains(j-1)){int current = j;int len = 1;while(set.contains(current+1)){current +=1;len+=1;}max=Math.max(len,max);}}return max;}
}