01 2023 档案
摘要:1049. 最后一块石头的重量 II 难度中等602收藏分享切换为英文接收动态反馈 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能
阅读全文
摘要:416. 分割等和子集 难度中等1618收藏分享切换为英文接收动态反馈 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5,
阅读全文
摘要:96. 不同的二叉搜索树 难度中等2069收藏分享切换为英文接收动态反馈 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n = 3 输出:5 示例 2: 输入:n = 1 输出:1 提示: 1
阅读全文
摘要:343. 整数拆分 难度中等1030收藏分享切换为英文接收动态反馈 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n = 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。
阅读全文
摘要:62. 不同路径 难度中等1658收藏分享切换为英文接收动态反馈 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1:
阅读全文
摘要:491. 递增子序列 难度中等566收藏分享切换为英文接收动态反馈 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。 示例 1: 输入:
阅读全文
摘要:90. 子集 II 难度中等997收藏分享切换为英文接收动态反馈 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 示例 1: 输入:nums = [1,2,2] 输出:[[],[1],
阅读全文
摘要:78. 子集 难度中等1890收藏分享切换为英文接收动态反馈 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2
阅读全文
摘要:131. 分割回文串 难度中等1350收藏分享切换为英文接收动态反馈 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入:s = "aab" 输出:[["a","a","b"],["aa
阅读全文
摘要:40. 组合总和 II 难度中等1200 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 **注意:**解集不能包含重复的组合。
阅读全文
摘要:39. 组合总和 难度中等2302收藏分享切换为英文接收动态反馈 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 ca
阅读全文
摘要:17. 电话号码的字母组合 难度中等2253收藏分享切换为英文接收动态反馈 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = "23" 输出:["
阅读全文
摘要:216. 组合总和 III 难度中等605收藏分享切换为英文接收动态反馈 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k = 3,
阅读全文
摘要:101. 对称二叉树 难度简单2227收藏分享切换为英文接收动态反馈 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root = [1,2,2,null,3,null,3] 输出:false
阅读全文
摘要:102. 二叉树的层序遍历{学会层序遍历,直接打十个!!} 难度中等1542收藏分享切换为英文接收动态反馈 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:[[3
阅读全文
摘要:二叉树的统一迭代法 要想统一写法就要:将访问的节点放入栈中,把要处理的节点也放入栈中但是要做标记。 如何标记呢,就是要处理的节点放入栈之后,紧接着放入一个空指针作为标记。 这种方法也可以叫做标记法。 前序遍历 /** * Definition for a binary tree node. * ty
阅读全文
摘要:二叉树的遍历{迭代实现} 前序遍历 /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func preorderT
阅读全文
摘要:144. 二叉树的前序遍历 难度简单965收藏分享切换为英文接收动态反馈 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [
阅读全文
摘要:94. 二叉树的中序遍历 难度简单1649收藏分享切换为英文接收动态反馈 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root =
阅读全文
摘要:145. 二叉树的后序遍历 难度简单965收藏分享切换为英文接收动态反馈 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root =
阅读全文
摘要:Go Map底层实现原理 Go map map 是一种key-value的键值对存储结构,其中key不能重复,底层用hash表存储。 平日里我们一般是这样使用map的: // 创建 // map[KeyType]ValueType var m map[int]int m := make(map[in
阅读全文
摘要:大顶堆/小顶堆 转载:https://www.cnblogs.com/remixnameless/p/15906978.html 概念 堆这种数据结构的应用场景非常多,最经典的莫过于堆排序。堆排序是一种原地的、时间复杂度为 O(nlogn) 堆是一个完全二叉树 堆中每一个节点的值都必须大于等于(或小
阅读全文
摘要:滑动窗口最大值 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[
阅读全文
摘要:请求的参数的获取与校验(基本流程) models/params.go package models //定义请求的参数 type ParamSignUp struct { Username string `json:"username"` Password string `json:"passwor
阅读全文
摘要:用户表结构设计 在已经创建好数据库的基础上再创建用户表: CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NOT NULL, `username` varchar(64) COLL
阅读全文
摘要:分布式 id 生成器(雪花算法) 有时我们需要能够生成类似MySQL自增ID这样不断增大,同时又不会重复的id。以支持业务中的高并发场景。比较典型的,电商促销时,短时间内会有大量的订单涌入到系统,比如每秒10w+。明星出轨时,会有大量热情的粉丝发微博以表心意,同样会在短时间内产生大量的消息。 在插入
阅读全文