Espada

酸萝卜 ♂ 别吃

LeetCode #540 有序数组中的单一元素

#540 Single Element in a Sorted Array

Problem Description给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 note您的方案应该在 $O(log n)$ 时间复杂度和 $O(1)$ 空间复杂度中运行。 e.g. 示例 1: 12输入: [1,1,2,3,3,4,4,8,8]...

LeetCode #892 三维形体的表面积

#892 Surface Area of 3D Shapes

Problem Description在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 note 1 <= N <= 50 0 <...

LeetCode #703 数据流中的第K大元素

#703 Kth Largest Element in a Stream

Problem Description设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回...

LeetCode #367 有效的完全平方数

#367 Valid Perfect Square

Problem Description给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。 note不要使用任何内置的库函数,如:sqrt。 e.g. 示例1: 输入:16 输出:True 示例2: 输入:14 输出:False ...

LeetCode #225 用队列实现栈

#225 Implement Stack using Queues

Problem Description 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() – 返回栈是否为空 note 你只能使用队列的基本操作– 也就是 push to back, peek&#x...

数据结构:Queue

虎头蛇尾

介绍先进先出,一种特殊的线性表,只允许表在一端进行获取操作,在另一端进行插入操作。当不存在元素时,则为空队列。自从 BlockingQueue(阻塞队列)问世以来,队列的地位得到极大地提升,在各种高并发编程的场景,经常被作为 Buffer(数据缓冲区)使用。 通常我们把LinkedList当成...

LeetCode #169 多数元素

#169 Majority Element

Problem Description给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 e.g. 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2...

LeetCode #155 最小栈

#155 Min Stack

Problem Description设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 e...

数据结构:栈

先进后出

介绍last-in-first-out,后进先出是它最大的特点。class Stack<E> extends Vector<E> 作为Vector的子类。 Vector底层使用数组存储数据,所以Stack也是如此。 Stack类自身的一些方法: 方法 方法描述 ...

虐猫事件思考「虐」的定义

我们需要一个上帝吗?

我们需要一个上帝吗? 自我解释小时候会觉得虐待动物是不道德错误的、或者说是心理问题、性格缺陷。长大后慢慢的看待问题不会在只关注事件本身,局限的从一两个点出发,开始学会多角度切入会去思考,怎么样算「虐待」呢?我们可以假定动物本身是抗拒这种被「虐待」的行为,那么绝育、关笼子、指令教学为什么就不...