自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(278)
  • 收藏
  • 关注

原创 leetcode_读书笔记_栈和深度优先搜索

深度优先搜索:从根节点A开始,每次从其中的一个邻居节点开始遍历,然后从邻居节点的邻居乡下遍历,直到找到目标,或者,当前节点不是目标,并且他没有邻居节点,那就出栈。然后从栈顶元素再找一个元素出栈,判断是不是目标,不是目标,判断一下时候有邻居,有邻居吧,入栈,并且其中一个邻居入栈,然后并且标记这个结点已经访问过了。深度优先遍历:递归调用的形式:/* * Return true if there is a path from cur to target. */boolean DFS(Node cu.

2020-12-09 14:25:50 242

原创 leetcode-150.-逆波兰表达式求值

逆波兰表达式求值根据 逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: [“2”, “1”, “+”, “3”, “*”]输出: 9解释: 该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例 2:输入: [“4”, “13”, “5”, “/”, “+”.

2020-12-08 10:31:32 218

原创 leetcode-739-每日温度

每日温度请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。思路:维护一个单调递减栈,保存的是.

2020-12-08 10:13:36 250

原创 nowcoder-sql-19-查找所有员工的last_name和first_name以及对应的dept_name

注意这是三表连接:第一次左连接基于from,第一次左连接之后,在第一次左连接指出之上进行了第二次左连接select e.last_name, e.first_name, d.dept_namefrom employees e left join dept_emp de on e.emp_no = de.emp_noleft join departments d on d.dept_no = de.dept_no...

2020-12-08 09:36:28 182

原创 nowcoder-sql-18- 获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

select e.emp_no, s.salary, e.last_name, e.first_namefrom employees einner join salaries son e.emp_no = s.emp_nowhere s.to_date='9999-01-01'order by s.salary desclimit 1, 1

2020-12-07 21:46:24 154

原创 nowcoder- sql-17-获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

select s.emp_no, s.salaryfrom salaries swhere s.to_date='9999-01-01'order by s.salary desclimit 1, 1

2020-12-07 21:42:16 131

原创 nowcoder-sql-16-统计出当前各个title类型对应的员工当前薪水对应的平均工资

select t.title, avg(s.salary) avgfrom titles tinner join salaries son t.emp_no = s.emp_nowhere t.to_date='9999-01-01'and s.to_date='9999-01-01'group by t.title

2020-12-07 21:38:27 101

原创 leetcode-20-有效括号

有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true思路:就很简单,左.

2020-12-07 21:29:41 82

原创 leetcode-155-最小栈

最小栈设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,null,nu.

2020-12-07 21:05:12 139

原创 leetcode-读书笔记-栈:后入先出的数据结构

实现 - 栈栈的实现比队列容易。动态数组足以实现堆栈结构。这里我们提供了一个简单的实现供你参考:// "static void main" must be defined in a public class.class MyStack { private List<Integer> data; // store elements public MyStack() { data = new ArrayList<>(...

2020-12-07 20:03:56 166

原创 leetcode-5-最长回文子串-三种解法

最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”、第一:暴力解法:看代码注释很容易理解时间复杂度:因为主程序有2个for循环,掉用的函数还有一次n循环,总的时间复杂度是N的3方class Solution { /** * 暴力解法:这个函数是判断当前传进来的子串是不是回文子串,就是.

2020-12-07 10:13:13 179

原创 nowcoder- sql- 15- 查找employees表

select * from employees e where e.emp_no % 2 = 1and e.last_name <> 'Mary'order by e.hire_date desc

2020-12-06 23:35:20 118

原创 nowcoder-sql-14- 从titles表获取按照title进行分组

分组之后计数,计数之后去重计数操作select t.title, count(distinct t.emp_no) tfrom titles tgroup by titlehaving count(distinct t.emp_no) >= 2

2020-12-06 21:54:20 90

原创 nowcoder-sql-13-从titles表获取按照title进行分组

注意having语句是group分组时候的筛选语句select t.title, count(*) tfrom titles tgroup by titlehaving count(*) >= 2 # hanging 语句是分组之后的筛选条件

2020-12-06 21:46:36 90

原创 leetcode-279-完全平方数

完全平方数给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.思路:使用BFS,首先找到小于n的所有开平方数字,然后判断当前n减去这些开平方数是否有开平方数,比如12减去1,2,8,没有开平方数,那么当前level就要+1然后进入到下一层 11 8 .

2020-12-06 21:37:05 147

原创 nowcoder-sql-11-获取所有员工当前的manager

select e.emp_no, m.emp_nofrom dept_emp einner join dept_manager mon e.dept_no = m.dept_nowhere m.to_date = '9999-01-01'and m.emp_no <> e.emp_no

2020-12-05 23:30:31 105

原创 JAVA程序运行堆栈分析

经过编译之后形成的字节码16进制文本文件源代码编译之后形成.class的字节码文件,字节码文件经过类加载器,加载到JVM当中左边是一个进程的所有线程共享的内存空间,右边是一个进程当中不同线程独有的线程独占会随着线程结束而销毁,线程共有需要JVM来维护,比如GC对堆内存的维护GC可以对方法区进行管理。方法区一般存放累的描述信息,类的静态成员变量等等堆内存存放的是对象,GC主要是对对象实例进行回收,OOM错误就是堆内存满了。堆中的GC算法后续会有详细介绍(分代搜集算法,复制算法,标记清除。.

2020-12-05 23:30:23 263

原创 nowcoder-sql-10-获取所有非manager的员工emp

select e.emp_nofrom employees ewhere e.emp_no not in ( select e.emp_no from employees e inner join dept_manager d on e.emp_no = d.emp_no)

2020-12-05 23:30:14 74

原创 nowcoder-sql-09-获取所有部门当前manager的当

select d.dept_no, d.emp_no, s.salaryfrom dept_manager dinner join salaries son d.emp_no = s.emp_nowhere d.to_date='9999-01-01'and s.to_date='9999-01-01'order by d.dept_no asc

2020-12-05 23:29:52 140

原创 nowcoder-sql-08- 找出所有员工当前薪水salary情况

select distinct s.salaryfrom salaries swhere s.to_date = '9999-01-01'order by s.salary desc

2020-12-05 23:29:24 83

原创 leetcode-200-岛屿数量

岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [[“1”,“1”,“1”,“1”,“0”],[“1”,“1”,“0”,“1”,“0”],[“1”,“1”,“0”,“0”,“0”],[“0”,“0”,“0”,“0”,“0”]]输出:1示例 2:输入:grid = [[“1”,“1”.

2020-12-05 23:28:55 111

原创 LeetCode 1262.可被三整除的最大和

给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。示例 1:输入:nums = [3,6,5,1,8]输出:18解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。示例 2:输入:nums = [4]输出:0解释:4 不能被 3 整除,所以无法选出数字,返回 0。示例 3:输入:nums = [1,2,3,4,4]输出:12解释:选出数字 1, 3, 4 以及 4,它们的和是 12(可被 3 整除的最大和)。提示:1 <= n

2020-12-05 18:22:49 355 2

原创 nowcoder-sql-07-查找薪水变动超过15次的员工号

select s.emp_no, count(*)from salaries sgroup by s.emp_no having count(*) > 15

2020-12-04 16:18:25 313

原创 nowcoder-sql-06-查找所有员工入职时候的薪水情况

select e.emp_no, s.salaryfrom salaries sinner join employees eon s.emp_no = e.emp_nowhere s.from_date = e.hire_dateorder by s.emp_no desc

2020-12-04 16:12:44 92

原创 nowcoder-sql-05-查找所有员工的last_name和first_name以及对应部门编号dept_no

select last_name, first_name, dept_nofrom employees eleft join dept_emp don e.emp_no = d.emp_no

2020-12-04 15:28:35 67

原创 nowcoder-sql4-查找所有已经分配部门的员工的

select e.last_name, e.first_name, d.dept_nofrom employees einner join dept_emp don e.emp_no = d.emp_no

2020-12-04 15:21:06 121

原创 nowcoder-sql3-查找当前薪水详情以及部门编号

这里要注意内联接,内联接就是找两个表的交集左连接:也是找两个表的交集,但是坐标全都保留右连接同理全连接:两张表都全部找交集并且两张表都保留select s.*, d.dept_nofrom salaries sinner join dept_manager don s.emp_no = d.emp_nowhere d.to_date='9999-01-01'and s.to_date='9999-01-01'...

2020-12-04 14:57:56 70

原创 数据库left join,right join,inner join,full join之间的区别

left join,right join,inner join,full join之间的区别 </h2> <div class="postbody"> 参考https://www.cnblogs.com/assasion/p/7768931.htmlhttps://blog.csdn.net/rongbo_j/article/details/46352337sql中的连接查询有inner join(内连接)、left...

2020-12-04 14:49:45 168

原创 nowcoder-sql2-查找入职员工倒数第三的员工信息

limit:作用:第一个参数是查询结果的偏移量,第二个参数是返回的个数select * from employeeswhere hire_date = ( select hire_date from employees order by hire_date desc limit 2,1)

2020-12-04 14:32:30 114

原创 nowcode-sql1-查找入职最晚的员工所有信息

时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:352288算法知识视频讲解题目描述查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为–,mysql为comment)CREATE TABLE employees (emp_no int(11) NOT NULL, – ‘员工编号’birth_date date NOT NULL,first_name varchar(14) NOT

2020-12-04 14:07:04 200

原创 java.util.Deque学习笔记:类中方法解释

概述 Deque(Double ended queue)是一种线性集合,其允许在集合两端进行数据的插入和删除操作。大多数的Deque实现没有确定的可保存元素数目,但是在本接口中,仍然提供了对容量限制型的队列的支持。本接口中提供了可以双向访问队列中元素的方法,与基本队列Queue类似,其提供的方法在执行失败时均存在两种处理形式:抛...

2020-12-04 11:27:55 286

原创 leetcode_读书笔记_队列和栈:队列先入先出的数据结构

循环队列的话,就要判断一下当前下表和数组长度取一下模自己设计一个循环队列:class MyCircularQueue { private int[] data; private int head; private int tail; private int size; /** Initialize your data structure here. Set the size of the queue to be k. */ publi...

2020-12-04 11:24:36 91

原创 leetcode-236-二叉树最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5 和节点 1

2020-12-03 20:06:13 80

原创 leetcode_638_超市大礼包购买

大礼包在LeetCode商店中, 有许多在售的物品。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。现给定每个物品的价格,每个大礼包包含物品的清单,以及待购物品清单。请输出确切完成待购清单的最低花费。每个大礼包的由一个数组中的一组数据描述,最后一个数字代表大礼包的价格,其他数字分别表示内含的其他种类物品的数量。任意大礼包可无限次购买。示例 1:输入: [2,5], [[3,0,5],[1,2,10]], [3,2]输出: 14解释:有A和B两种物品,价格分别为¥2和¥5.

2020-12-03 09:01:19 298

原创 leetcode417_大西洋太平洋水流问题

给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左边界和上边界,而“大西洋”处于大陆的右边界和下边界。规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单元的坐标。提示:输出坐标的顺序不重要m 和 n 都小于150示例:给定下面的 5x5 矩阵:太平洋 ~ ~ ~ ~ ~1 2 2 3 (5) *3 2 3 (4

2020-12-02 10:16:56 104

原创 leetcode-316-在字符串中去除重复字母保证字典序最小

给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。注意:该题与 1081 https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-characters 相同示例 1:输入:s = “bcabc”输出:“abc”示例 2:输入:s = “cbacdcbc”输出:“acdb”提示:1 <= s.length <= 104

2020-12-02 08:30:34 2365 1

原创 leetcode-34. 在排序数组中查找元素的第一个和最后一个位置

在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: [-1,-1]Java:public.

2020-11-09 09:31:36 88

原创 leetcode-560. 和为K的子数组

和为K的子数组给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。思路:前缀和 + HASHtableclass Solution { public int subarraySum.

2020-11-08 22:29:39 119

原创 leetcode-621. 任务调度器

任务调度器给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。然而,两个相同种类的任务之间必须有长度为 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。你需要计算完成所有任务所需要的最短时间。示例 :输入:tasks = [“A”,“A”,“A”,“B.

2020-11-08 09:29:08 242

原创 leetcode-647. 回文子串

回文子串给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1:输入:“abc”输出:3解释:三个回文子串: “a”, “b”, “c”示例 2:输入:“aaa”输出:6解释:6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”class Solution: def __init__(self): self.res = 0 de.

2020-11-07 21:22:54 136

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除