ICode9

精准搜索请尝试: 精确搜索
  • leecode no.109 有序链表转换二叉搜索树2021-07-17 14:02:03

    package tree;import java.util.ArrayList;import java.util.List;/** * 109. 有序链表转换二叉搜索树 * 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 * * 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 *

  • leecode no.113 路径总和 II2021-07-17 13:31:27

    package tree;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Stack;/** * 113. 路径总和 II * 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 * * 叶子节

  • Leecode no.230 二叉搜索树中第K小的元素2021-07-15 11:32:49

    package tree;/** * 230. 二叉搜索树中第K小的元素 * 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 * * @author Tang * @date 2021/7/15 */public class KthSmallest { int k = 0; int temp = 0; public int

  • Leecode<每日一题>基于时间的键值存储2021-07-10 15:04:06

    Leecode<每日一题>基于时间的键值存储 题目链接 思路:哈希表+二分查找 struct node { string value; int time; node(string v,int t):value(v),time(t) {} }; class TimeMap { public: unordered_map<string, vector<node>> mp; /** Initialize yo

  • Leecode<每日一题>错误的集合2021-07-05 16:30:54

    Leecode<每日一题>错误的集合 题目链接:https://leetcode-cn.com/problems/set-mismatch/ 思路:遍历标记即可 bool check[10010] = { false }; vector<int> findErrorNums(vector<int>& nums) { vector<int> rt; for (int i = 0; i < nums.size(); i++) {

  • Mysql__leecode/0176.第二高的薪水2021-06-30 10:29:40

    176. 第二高的薪水 一、刷题内容原题链接内容描述 二、解题方法1.方法一:mysql 一、刷题内容 原题链接 https://leetcode-cn.com/problems/second-highest-salary/ 内容描述 SQL架构 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。 +----+--------+ | Id | S

  • Leecode:76. 最小覆盖子串2021-06-10 11:29:23

    给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。 注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。 滑动窗口的思想: 用i , j分别表示滑动窗口的左右边界,滑动窗口的扩展收缩可以通

  • LeeCode 两数之和2021-06-05 19:57:38

    LeeCode 两数之和 题目描述 思路 思路1代码 提交截图 时间复杂度和空间复杂度 时间复杂度 空间复杂度 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不

  • leecode 4062021-06-05 10:32:41

    /** * 解题思路:先排序再插入 * 1.排序规则:按照先H高度降序,K个数升序排序 * 2.遍历排序后的数组,根据K插入到K的位置上 * * 核心思想:高个子先站好位,矮个子插入到K位置上,前面肯定有K个高个子,矮个子再插到前面也满足K的要求 * * @param peopl

  • leecode 122.买卖股票的最佳时机Ⅱ2021-06-02 16:33:05

    贪心算法 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 由题可知,求最大利润,可以想到贪心算

  • leecode 739.每日温度2021-05-31 15:34:51

    请根据每日气温列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。 提示:气温

  • Leecode no.300 最长递增子序列2021-05-31 15:04:12

    package leecode;/** * 最长递增子序列 * 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 * * 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列 * * * @author Tang * 2021/5/26 */pub

  • leecode 394.字符串解码2021-05-26 21:36:06

    给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 此外,你可以认为原始

  • Leecode no.200 岛屿数量2021-05-21 17:36:45

    package leecode;/** * 岛屿数量 * * 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 * * 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 * * 此外,你可以假设该网格的四条边均被水包围。 * * 2021/5/19 * @author tan

  • leecode 85 最大矩形 hard2021-05-15 18:05:14

    给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: 输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1",

  • Leecode入门算法---删除排序数组的重复项2021-05-07 20:29:14

    原问题如下: 删除排序数组中的重复项 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是

  • leecode 150. 逆波兰表达式求值(栈)2021-05-01 21:02:09

    题目描述 根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明:整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入:tokens = [

  • Leecode——2021.04.172021-04-17 11:34:15

    滑动窗口 219. 存在重复元素 II 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。 // 滑动窗口做法 class Solution { public boolean containsNearbyDuplicate(int[] nums, int k)

  • [Leecode] 32. 最长有效括号2021-04-11 21:30:59

    2021/4/11,题意如下: 困难题瞄了题解才有思路,第一种思路是用栈,栈中存的是左括号的下标,每次输入一个右括号就让这个右括号的下标减去和没有构成匹配前一个左括号的下标。需要注意的是要在输入之前在栈中加入一个-1让第一个匹配的右括号有值。 c++参考代码: class Solution { pub

  • 【Leecode笔记】第二十四周 剑指offer(3.29-4.4)2021-04-05 13:57:23

    【第一题】数组中数字出现的次数II 分析: 方法一:集合; 方法二:哈希表; //哈希好慢 class Solution { public int singleNumber(int[] nums) { Map<Integer,Integer> map = new HashMap<>(); for(int i = 0;i < nums.length;i++){ map.put(nums[

  • LeeCode 206. 反转链表2021-04-04 20:00:27

    LeeCode 206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? /** * Definition for singly-linked list. * struct ListNode { * int val; * struct Lis

  • LeeCode shell 统计词频2021-03-23 13:30:11

    写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。 为了简单起见,你可以假设:words.txt只包括小写字母和 ' ' 。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。 示例: 假设 words.txt 内容如下: the day is sunny the the the sunny is is

  • leecode刷题总结--图2021-03-09 21:04:18

    1 只要返回入度为0的节点。 2 list<list<>>根据下标放该下标可以通向的地方,再根据深度遍历找到target,使用hashset来保证不会出现死循环。 3 dfs[i]遍历之后,回到当前i,需要删除list当前保存的值。list.remove 保证不会出现 0-1-3,0-1-3-2-3的重复情况。 4 将每个下标可以通

  • leecode:剑指offer56 数组中数字出现的次数2021-03-01 21:31:23

    56-I 数组中找出出现次数为1的数,这种属于位运算 题目描述: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例1: 输入:nums=[4,1,4,6] 输出:[1,6]或[6,1] class Solution(object):

  • leecode:剑指offer52 两个链表的第一个公共节点2021-03-01 15:29:06

    题目描述: 解题思路: 如果把两个链表都遍历一遍,先遍历A,再遍历B和先遍历B再遍历A,遍历次数是一样的。 而且如果两个链表后面一样的节点,那么遍历完第一个链表后遍历第二个时,便可以开始做相等比较。 代码: # Definition for singly-linked list. # class ListNode(object): # d

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有