摘要: 一、哈希 1. 两数之和 题目描述 题目链接 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案 阅读全文
posted @ 2023-11-16 22:37 shimmer_ghq 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。时间复杂度为O(n)。 单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是整个数组只需要遍历一次。 栈中存放什么?下标!! 1. 每日温度 阅读全文
posted @ 2023-10-20 20:24 shimmer_ghq 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 自己写的0/1背包归纳 自己写的完全背包归纳 代码随想录背包问题总结 阅读全文
posted @ 2023-09-11 11:23 shimmer_ghq 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 完全背包 完全背包和01背包区别就是完全背包的物品是无限数量。 递推公式也是一样的,但难点在于遍历顺序上! 0/1背包的一维,一定是外层遍历物品,内层遍历背包,且背包从大到小遍历。 方法总结: 纯完全背包的内外层遍历无所谓,但是背包必须是从小到大遍历。并且,当问题不是纯完全背包时,比如求装满背包的方 阅读全文
posted @ 2023-09-10 16:56 shimmer_ghq 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 0/1背包🔺 问题 背包容量 = 4 物品 重量 价值 0 1 15 1 3 20 2 4 30 二维 下标含义: dp[i][j] = 0...i之间的物品任意取,放到容量为j的背包中,能获得的最大价值。 递推公式: dp[i][j] = max(dp[i-1][j], dp[i-1][j-we 阅读全文
posted @ 2023-09-05 15:34 shimmer_ghq 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Java 8 新特性 Java 8 新特性 主要是函数式编程! Java8 新增了非常多的特性,我们主要讨论以下几个: Lambda 表达式 − Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。 方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实 阅读全文
posted @ 2023-08-28 21:37 shimmer_ghq 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 看起来比较全的菜鸟教程 Java集合体系 Java集合框架图 Java集合主要分为两大类: 实现了Collection接口的单列集合: 实现了Map接口的双列集合: 集合框架体系 序号 接口描述 1 Collection 接口Collection 是最基本的集合接口,一个 Collection 代表 阅读全文
posted @ 2023-08-26 16:07 shimmer_ghq 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 一、简单题目 1.分发饼干 题目描述 题目链接 参考题解 解题思路 为了满足更多的小孩,就不要造成饼干尺寸的浪费。 小的饼干先喂胃口小的 代码 class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sor 阅读全文
posted @ 2023-08-12 19:38 shimmer_ghq 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 详见紫书P444 题目 输入: 员工数n 百分比T 员工1的直属上司 员工2的直属上司 ... 员工n的直属上司 3 100 0 0 0 3 50 0 0 0 14 60 0 0 1 1 2 2 2 5 7 5 7 5 7 5 0 0 输出 需要签字的最少工人(叶子)数 3 2 5 代码 #incl 阅读全文
posted @ 2022-11-19 17:59 shimmer_ghq 阅读(20) 评论(0) 推荐(0) 编辑