LeetCode No.154,155,156
No.154 FindMin 寻找旋转排序数组中的最小值 II
题目
- 假设按照升序排序的数组在预先未知的某个点上进行了旋转。
- ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。
- 请找出其中最小的元素。
- 注意数组中可能存在重复的元素。
示例
- 输入: [1,3,5]
- 输出: 1
- 输入: [2,2,2,0,1]
- 输出: 0
说明
- 这道题是 No.153 寻找旋转排序数组中的最小值 的延伸题目。
- 允许重复会影响算法的时间复杂度吗?会如何影响,为什么?
思路
代码
No.155 MinStack 最小栈
题目
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。
push(x) -- 将元素 x 推入栈中。
- pop() -- 删除栈顶的元素。
- top() -- 获取栈顶元素。
getMin() -- 检索栈中的最小元素。
示例
- MinStack minStack = new MinStack();
- minStack.push(-2);
- minStack.push(0);
- minStack.push(-3);
- minStack.getMin(); --> 返回 -3.
- minStack.pop();
- minStack.top(); --> 返回 0.
- minStack.getMin(); --> 返回 -2.
思路
代码
No.156 UpsideDownBinaryTree 上下翻转二叉树
题目
- 给定一个二叉树,其中所有的右节点要么是具有兄弟节点(拥有相同父节点的左节点)的叶节点,要么为空,将此二叉树上下翻转并将它变成一棵树, 原来的右节点将转换成左叶节点。返回新的根。
示例
- 输入: [1,2,3,4,5]
- 1
- / \
- 2 3
- / \
- 4 5
- 输出: 返回二叉树的根 [4,5,2,#,#,3,1]
- 4
- / \
- 5 2
- / \
- 3 1
说明
- 二叉树的序列化遵循层次遍历规则,当没有节点存在时,'#' 表示路径终止符。
思路
代码
LeetCode No.154,155,156的更多相关文章
- 【LeetCode】154. Find Minimum in Rotated Sorted Array II 解题报告(Python)
[LeetCode]154. Find Minimum in Rotated Sorted Array II 解题报告(Python) 标签: LeetCode 题目地址:https://leetco ...
- leetcode算法学习----155. 最小栈(MinStack )
下面题目是LeetCode算法155题: https://leetcode.com/problems/min-stack/ 题目1:最小函数min()栈 设计一个支持 push,pop,top 操作, ...
- LeetCode(154) Find Minimum in Rotated Sorted Array II
题目 Follow up for "Find Minimum in Rotated Sorted Array": What if duplicates are allowed? W ...
- 【leetcode❤python】 155. Min Stack
#-*- coding: UTF-8 -*- class MinStack(object): def __init__(self): """ ...
- LeetCode OJ 154. Find Minimum in Rotated Sorted Array II
Follow up for "Find Minimum in Rotated Sorted Array":What if duplicates are allowed? Would ...
- 【LeetCode】154. Find Minimum in Rotated Sorted Array II (3 solutions)
Find Minimum in Rotated Sorted Array II Follow up for "Find Minimum in Rotated Sorted Array&quo ...
- <LeetCode OJ> 155. Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ...
- LeetCode第154场周赛(Java)
估计要刷很久才能突破三道题了.还是刷的太少.尽管对了前两题,但是我觉得写的不怎么样.还是将所有题目都写一下吧. 5189. "气球" 的最大数量 题目比较简单.就是找出一个字符串中 ...
- LeetCode 第 154 场周赛
一."气球" 的最大数量(LeetCode-5189) 1.1 题目描述 1.2 解题思路 统计各个字母的出现的次数,然后根据"木桶最短板"返回就好. 1.3 ...
随机推荐
- sql同时删除多个表的数据
DELETE语句中指定多个表,根据多个表中的特定条件,从一个表或多个表中删除行. 不过,您不能在一个多表DELETE语句中使用ORDER BY或LIMIT. DELETE t1, t2 FROM t1 ...
- 第一章,初识C语言
1.1 C语言起源 1.2 选择C语言的理由 1.3 C语言的应用范围 1.4 计算机能做什么 1.5 高级计算机语言和编译器 1.6 语言标准 c90,c99,c11. 1.7 使用C语言的7个步骤 ...
- spring boot redis 缓存(cache)集成
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- PAT Advanced A1021 Deepest Root (25) [图的遍历,DFS,计算连通分量的个数,BFS,并查集]
题目 A graph which is connected and acyclic can be considered a tree. The height of the tree depends o ...
- LinkedList源码阅读笔记
LinkedList LinkedList是双向链表,不循环(1.6之前循环),继承AbstractSequentialList类,实现了List, Deque, Cloneable接口. 链表的特点 ...
- ..\OBJ\CAN.axf: Error: L6411E: No compatible library exists with a definition of startup symbol __main.
..\OBJ\CAN.axf: Error: L6411E: No compatible library exists with a definition of startup symbol __ma ...
- 洛谷 P2341 [HAOI2006]受欢迎的牛|【模板】强连通分量
题目传送门 解题思路: 先求强联通分量,缩点,然后统计新图中有几个点出度为0,如果大于1个,则说明这不是一个连通图,答案即为0.否则入度为0的那个强连通分量的点数即为答案 AC代码: #include ...
- mysql插入文本文档及读取
1.把本地的一个文件插入到数据库中,数据库字段用text保存 public static void main(String[] args) { PropKit.use(“pro.txt”);Druid ...
- 应用层上的协议HTTP
HTTP http://www.runoob.com/http/http-tutorial.html https://www.cnblogs.com/houfee/articles/9161847.h ...
- 哈希表hashTable的Java设计
1:哈希表的概念 2:设计原理 3:哈希表的Java设计