<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ECIFICS的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ECIFICS</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ECIFICS]]></copyright><item><title><![CDATA[二分查找mid定义注意事项]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/115400613</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/115400613</guid><author>ECIFICS</author><pubDate>Fri, 02 Apr 2021 15:54:00 +0800</pubDate><description><![CDATA[二分查找mid定义注意事项
最近刷leetcode的时候，发现一些二分查找相关的题解都将mid
这样定义:mid = (right - left) / 2 + left
这样是为了防止溢出，如果我们写成mid = (right + left) / 2，那么当right和left非常大的时候，它们的和可能会大于TMax造成溢出

...]]></description><category></category></item><item><title><![CDATA[移动零]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/115241378</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/115241378</guid><author>ECIFICS</author><pubDate>Tue, 30 Mar 2021 16:46:20 +0800</pubDate><description><![CDATA[这里写自定义目录标题题目描述解题方法
题目描述
给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。
示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

说明:
1.必须在原数组上操作，不能拷贝额外的数组。
2.尽量减少操作次数。

解题方法
双指针
左指针用来指向处理好的序列的右边一个元素，右指针指向待处理的序列头部，右指针一直右移，如果发现了一个不是零的数，就交换左右指针的值，此时左指针右移。在这个过程中，从左指针指向的元素到右指针左边]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战24]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/114186420</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/114186420</guid><author>ECIFICS</author><pubDate>Sat, 27 Feb 2021 19:31:47 +0800</pubDate><description><![CDATA[提示：文章写完后，目录可以自动生成，如何生成可参考右边的帮助文档

获取所有非manager员工当前的薪水情况题目描述解题思路参考代码

题目描述
有一个员工表employees简况如下:

有一个，部门员工关系表dept_emp简况如下:

有一个部门经理表dept_manager简况如下:

有一个薪水表salaries简况如下:

获取所有非manager员工薪水情况，给出dept_no、emp_no以及salary，以上例子输出:

解题思路
1.连接employees，dept_emp和salar]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战23]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/114186023</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/114186023</guid><author>ECIFICS</author><pubDate>Sat, 27 Feb 2021 19:01:42 +0800</pubDate><description><![CDATA[提示：文章写完后，目录可以自动生成，如何生成可参考右边的帮助文档

对所有员工的当前薪水按照salary进行按照1-N的排名题目描述解题思路参考代码

题目描述
有一个薪水表salaries简况如下:

对所有员工的薪水按照salary进行按照1-N的排名，相同salary并列且按照emp_no升序排列：

解题思路
1.通过子查询查询比当前选定的员工薪水低的人数+1得到每个员工的排名
2.通过ORDER BY将检索出来的表项按照排名进行排序
参考代码
SELECT S1.emp_no, S1.salary]]></description><category></category></item><item><title><![CDATA[Linux使用者与群组的概念]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/114184569</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/114184569</guid><author>ECIFICS</author><pubDate>Sat, 27 Feb 2021 18:25:27 +0800</pubDate><description><![CDATA[Linux使用者与群组的概念使用者与群组文件拥有者(Owner)群组(Group)其他人(Others)
使用者与群组
文件拥有者(Owner)
Linux是多人多任务系统，因此会有很多人同时使用这部主机进行工作，此时就需要考虑每个人的隐私权和喜好的工作环境，由此引出了文件使用者的概念。
群组(Group)
举一个例子来说明群组的概念，大学入校，会配分寝室，我们可以把每一个寝室看成一个群组。每个寝室会由若干个成员组成，每个成员有个人的私人物品，可以设定为不让其他同寝室成员看。每个账号都可以有多个群组的支持，]]></description><category></category></item><item><title><![CDATA[Java的按值调用]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113580616</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113580616</guid><author>ECIFICS</author><pubDate>Wed, 03 Feb 2021 16:10:23 +0800</pubDate><description><![CDATA[Java是按值调用还是按引用调用？
先说结论，Java总是采用按值调用
 1.按值调用和按引用调用 
我们首先明确两个概念

	按值调用：表示方法接受的是调用者提供的值
	按引用调用：表示方法接受的是调用者提供的变量地址

也就是说按值调用时将参数复制得到的副本交给方法，所以对副本的修改不会影响原本参数的值
而按引用调用这是直接将参数的变量地址给了方法，也就是说方法可以直接修改参数的值
接下来我们从下面两个角度来看java的按值调用

	基本数据类型
	对象引用

 2.基本数据类型的按值调用
我们来看下面]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战22]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113453943</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113453943</guid><author>ECIFICS</author><pubDate>Sun, 31 Jan 2021 09:24:49 +0800</pubDate><description><![CDATA[统计各个部门的工资记录数题目描述解题思路参考代码
题目描述
统计各个部门的工资记录数，给出部门编码dept_no、部门名称dept_name以及部门在salaries表里面有多少条记录sum，按照dept_no升序排序
CREATE TABLE `departments` (
`dept_no` char(4) NOT NULL,
`dept_name` varchar(40) NOT NULL,
PRIMARY KEY (`dept_no`));

CREATE TABLE `dept_emp` (
`e]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战21]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113307882</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113307882</guid><author>ECIFICS</author><pubDate>Thu, 28 Jan 2021 09:47:39 +0800</pubDate><description><![CDATA[查找所有员工自入职以来的薪水涨幅情况题目描述解题思路参考代码

题目描述
查找所有员工自入职以来的薪水涨幅情况，给出员工编号emp_no以及其对应的薪水涨幅growth，并按照growth进行升序
（注:可能有employees表和salaries表里存在记录的员工，有对应的员工编号和涨薪记录，但是已经离职了，离职的员工salaries表的最新的to_date!=‘9999-01-01’，这样的数据不显示在查找结果里面）
CREATE TABLE `employees` (
`emp_no` int(11)]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战20]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113239069</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113239069</guid><author>ECIFICS</author><pubDate>Wed, 27 Jan 2021 09:14:38 +0800</pubDate><description><![CDATA[查找员工编号emp_now为10001其自入职以来的薪水salary涨幅值growth题目描述解题思路参考代码

题目描述
查找员工编号emp_no为10001其自入职以来的薪水salary涨幅(总共涨了多少)growth(可能有多次涨薪，没有降薪)
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战19]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113237433</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113237433</guid><author>ECIFICS</author><pubDate>Wed, 27 Jan 2021 09:13:35 +0800</pubDate><description><![CDATA[查找所有员工的last_name和first_name以及对应的dept_name题目描述解题思路参考代码

题目描述
查找所有员工的last_name和first_name以及对应的dept_name，也包括暂时没有分配部门的员工
CREATE TABLE `departments` (
`dept_no` char(4) NOT NULL,
`dept_name` varchar(40) NOT NULL,
PRIMARY KEY (`dept_no`));
CREATE TABLE `dept_emp]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战20]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113238633</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113238633</guid><author>ECIFICS</author><pubDate>Wed, 27 Jan 2021 09:12:44 +0800</pubDate><description><![CDATA[查找员工编号emp_now为10001其自入职以来的薪水salary涨幅值growth题目描述解题思路参考代码

题目描述
查找员工编号emp_no为10001其自入职以来的薪水salary涨幅(总共涨了多少)growth(可能有多次涨薪，没有降薪)
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战18]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113236394</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113236394</guid><author>ECIFICS</author><pubDate>Wed, 27 Jan 2021 08:44:34 +0800</pubDate><description><![CDATA[查找当前薪水排名第二多的员工编号emp_no题目描述解题思路参考代码

题目描述
查找当前薪水(to_date=‘9999-01-01’)排名第二多的员工编号emp_no、薪水salary、last_name以及first_name，你可以不使用order by完成吗
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`las]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战17]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113182787</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113182787</guid><author>ECIFICS</author><pubDate>Wed, 27 Jan 2021 08:33:28 +0800</pubDate><description><![CDATA[获取当前薪水第二多的员工的emp_no以及其对应的薪水salary题目描述解题思路参考代码

题目描述
获取当前（to_date=‘9999-01-01’）薪水第二多的员工的emp_no以及其对应的薪水salary
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`em]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战16]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113182613</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113182613</guid><author>ECIFICS</author><pubDate>Tue, 26 Jan 2021 16:11:45 +0800</pubDate><description><![CDATA[统计出当前各个title类型对应的员工当前薪水对应的平均工资题目描述解题思路参考代码
题目描述
统计出当前(titles.to_date=‘9999-01-01’)各个title类型对应的员工当前(salaries.to_date=‘9999-01-01’)薪水对应的平均工资。结果给出title以及平均工资avg。
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date ]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战15]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113181334</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113181334</guid><author>ECIFICS</author><pubDate>Tue, 26 Jan 2021 15:32:37 +0800</pubDate><description><![CDATA[查找employees表所有emp_no为奇数题目描述解题思路参考代码

题目描述
查找employees表所有emp_no为奇数，且last_name不为Mary(注意大小写)的员工信息，并按照hire_date逆序排列
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战14]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113180847</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113180847</guid><author>ECIFICS</author><pubDate>Tue, 26 Jan 2021 15:17:52 +0800</pubDate><description><![CDATA[从titles表获取按照title进行分组，注意对于重复的emp_no进行忽略题目描述解题思路参考代码

题目描述
从titles表获取按照title进行分组，每组个数大于等于2，给出title以及对应的数目t。
注意对于重复的emp_no进行忽略(即emp_no重复的title不计算，title对应的数目t不增加)。
CREATE TABLE IF NOT EXISTS `titles` (
`emp_no` int(11) NOT NULL,
`title` varchar(50) NOT NULL,
]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战13]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/113180297</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/113180297</guid><author>ECIFICS</author><pubDate>Tue, 26 Jan 2021 15:00:08 +0800</pubDate><description><![CDATA[从titles表获取按照title进行分组题目描述解题思路参考代码

题目描述
从titles表获取按照title进行分组，每组个数大于等于2，给出title以及对应的数目t。
CREATE TABLE IF NOT EXISTS "titles" (
`emp_no` int(11) NOT NULL,
`title` varchar(50) NOT NULL,
`from_date` date NOT NULL,
`to_date` date DEFAULT NULL);

如插入：
INSERT IN]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战12]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/112947116</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/112947116</guid><author>ECIFICS</author><pubDate>Tue, 26 Jan 2021 14:51:42 +0800</pubDate><description><![CDATA[获取所有部门中当前员工薪水最高的相关信息题目描述解题思路参考代码

题目描述
获取所有部门中当前(dept_emp.to_date = ‘9999-01-01’)员工当前(salaries.to_date=‘9999-01-01’)薪水最高的相关信息，给出dept_no, emp_no以及其对应的salary，按照部门编号升序排列。
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_d]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战11]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/112878071</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/112878071</guid><author>ECIFICS</author><pubDate>Wed, 20 Jan 2021 15:23:51 +0800</pubDate><description><![CDATA[获取所有员工当前的manager题目描述解题思路参考代码

题目描述
获取所有员工当前的(dept_manager.to_date=‘9999-01-01’)manager，如果员工是manager的话不显示(也就是如果当前的manager是自己的话结果不显示)。输出结果第一列给出当前员工的emp_no,第二列给出其manager对应的emp_no。
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL, -- '所有的员工编号'
`dept_no` cha]]></description><category></category></item><item><title><![CDATA[牛客网-数据库SQL实战10]]></title><link>https://blog.youkuaiyun.com/ECIFICS/article/details/112874097</link><guid>https://blog.youkuaiyun.com/ECIFICS/article/details/112874097</guid><author>ECIFICS</author><pubDate>Wed, 20 Jan 2021 15:05:56 +0800</pubDate><description><![CDATA[获取所有部门当前manager的当前薪水情况题目描述解题思路参考代码1.NOT IN实现2. NOT EXISTS实现

题目描述
获取所有非manager的员工emp_no
CREATE TABLE `dept_manager` (
`dept_no` char(4) NOT NULL,
`emp_no` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`]]></description><category></category></item></channel></rss>