一、每日一题
383. 赎金信 - 力扣(LeetCode) (leetcode-cn.com)
思路:题目关键信息,ransomNote字符串的字符由maganize字符串中的字符组成,而且每个字符只能使用一次。所以就是直接统计两个字符串中的每种字符的个数,然后进行比较,maganize中的每种字符的个数必须大于等于ransomNote字符串中的个数,只要有一个不满足就返回false。
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
int a[26],b[26];
for(int i=0;i<26;i++)//初始化不要忘记
{
a[i]=0;
b[i]=0;
}
for(int i=0;i<ransomNote.length();i++)
{
a[ransomNote[i]-'a']++;
}
for(int i=0;i<magazine.length();i++)
{
b[magazine[i]-'a']++;
}
for(int i=0;i<26;i++)
{
if(a[i]>b[i])
{
return false;
}
}
return true;
}
};
二、MAVEN学习
仓库 repository
Maven和我们之前学习的git很类似,其也是分布式架构,它有一个全球仓库,称为中央仓库。
当用户需要某个jar包时,先到本地仓库寻找,没有再去镜像仓库,没有再去中央仓库。中央仓库找到后,并不直接返回到本地仓库,而是保存一份到镜像仓库,镜像仓库返回本地仓库,本地仓库也保存一份,然后返回给调用者。
依赖 dependency
每个核心jar包形成一个依赖,maven底层进行它相关的jar的自动导入。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
坐标 coordinate
坐标是用来描述仓库中资源的位置。
MAVEN坐标主要组成:
groupld:定义当前MAVEN项目隶属组织名称(通常是域名反写,org.mybatis)
artifactld:定义当前MAVEN项目名称(通常是模块名称,CRM,SMS)
version:定义当前项目版本号
packaging:定义项目的打包方式
三、SQL学习
浙江大学用户题目回答情况_牛客题霸_牛客网 (nowcoder.com)
select a.device_id,question_id,result
from question_practice_detail a, user_profile b
where a.device_id=b.device_id and university="浙江大学";
对所有员工的薪水按照salary降序进行1-N的排名_牛客题霸_牛客网 (nowcoder.com)
SELECT emp_no,salary,dense_rank() over (order by salary desc) t_rank
FROM salaries
这里要注意对四大排名函数的区分
统计每个用户的平均刷题数_牛客题霸_牛客网 (nowcoder.com)
SELECT university,difficult_level,count(result)/count(distinct q.device_id) avg_answer_cnt
from user_profile u,question_practice_detail q,question_detail qq
where university='山东大学' and u.device_id=q.device_id and q.question_id=qq.question_id
group by difficult_level
统计每个学校的答过题的用户的平均答题数_牛客题霸_牛客网 (nowcoder.com)
select university,round(count(question_id)/count(distinct q.device_id),4) avg_answer_cnt
from user_profile u,question_practice_detail q
where u.device_id=q.device_id
group by university
order by university asc
统计每个学校各难度的用户平均刷题数_牛客题霸_牛客网 (nowcoder.com)
select university,difficult_level,round(count(q.question_id)/count(distinct q.device_id),4) avg_answer_cnt
from user_profile u,question_practice_detail q,question_detail qq
where u.device_id=q.device_id and q.question_id=qq.question_id
group by university,difficult_level
计算用户的平均次日留存率_牛客题霸_牛客网 (nowcoder.com)
找出每个学校GPA最低的同学_牛客题霸_牛客网 (nowcoder.com)
select device_id,university,gpa
from(select *,rank() over (partition by university order by gpa asc) as r from user_profile) as uu
where uu.r=1;
统计复旦用户8月练题情况_牛客题霸_牛客网 (nowcoder.com)
浙大不同难度题目的正确率_牛客题霸_牛客网 (nowcoder.com)
select difficult_level,sum(if(result='right',1,0))/count(result) correct_rate
from user_profile u,question_practice_detail q,question_detail qq
where university='浙江大学' and u.device_id=q.device_id and q.question_id=qq.question_id
group by difficult_level
order by correct_rate asc