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的更多相关文章

  1. 【LeetCode】154. Find Minimum in Rotated Sorted Array II 解题报告(Python)

    [LeetCode]154. Find Minimum in Rotated Sorted Array II 解题报告(Python) 标签: LeetCode 题目地址:https://leetco ...

  2. leetcode算法学习----155. 最小栈(MinStack )

    下面题目是LeetCode算法155题: https://leetcode.com/problems/min-stack/ 题目1:最小函数min()栈 设计一个支持 push,pop,top 操作, ...

  3. LeetCode(154) Find Minimum in Rotated Sorted Array II

    题目 Follow up for "Find Minimum in Rotated Sorted Array": What if duplicates are allowed? W ...

  4. 【leetcode❤python】 155. Min Stack

    #-*- coding: UTF-8 -*- class MinStack(object):    def __init__(self):        """      ...

  5. 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 ...

  6. 【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 ...

  7. <LeetCode OJ> 155. Min Stack

    Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ...

  8. LeetCode第154场周赛(Java)

    估计要刷很久才能突破三道题了.还是刷的太少.尽管对了前两题,但是我觉得写的不怎么样.还是将所有题目都写一下吧. 5189. "气球" 的最大数量 题目比较简单.就是找出一个字符串中 ...

  9. LeetCode 第 154 场周赛

    一."气球" 的最大数量(LeetCode-5189) 1.1 题目描述 1.2 解题思路 统计各个字母的出现的次数,然后根据"木桶最短板"返回就好. 1.3 ...

随机推荐

  1. sql同时删除多个表的数据

    DELETE语句中指定多个表,根据多个表中的特定条件,从一个表或多个表中删除行. 不过,您不能在一个多表DELETE语句中使用ORDER BY或LIMIT. DELETE t1, t2 FROM t1 ...

  2. 第一章,初识C语言

    1.1 C语言起源 1.2 选择C语言的理由 1.3 C语言的应用范围 1.4 计算机能做什么 1.5 高级计算机语言和编译器 1.6 语言标准 c90,c99,c11. 1.7 使用C语言的7个步骤 ...

  3. spring boot redis 缓存(cache)集成

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  4. 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 ...

  5. LinkedList源码阅读笔记

    LinkedList LinkedList是双向链表,不循环(1.6之前循环),继承AbstractSequentialList类,实现了List, Deque, Cloneable接口. 链表的特点 ...

  6. ..\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 ...

  7. 洛谷 P2341 [HAOI2006]受欢迎的牛|【模板】强连通分量

    题目传送门 解题思路: 先求强联通分量,缩点,然后统计新图中有几个点出度为0,如果大于1个,则说明这不是一个连通图,答案即为0.否则入度为0的那个强连通分量的点数即为答案 AC代码: #include ...

  8. mysql插入文本文档及读取

    1.把本地的一个文件插入到数据库中,数据库字段用text保存 public static void main(String[] args) { PropKit.use(“pro.txt”);Druid ...

  9. 应用层上的协议HTTP

    HTTP http://www.runoob.com/http/http-tutorial.html https://www.cnblogs.com/houfee/articles/9161847.h ...

  10. 哈希表hashTable的Java设计

    1:哈希表的概念 2:设计原理 3:哈希表的Java设计