摘要: 1.1 排列组合问题 排列组合问题还得是卡子哥讲的通透 void backtracking(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { 处理节点; backtracking(路径,选择列表); // 递 阅读全文
posted @ 2024-05-10 08:41 菠萝包与冰美式 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 1.0 二分查找概念 key words: 单调区间、最大化最小值(最小化最大值)、时间复杂度O(logn) 1.1 二分模板 模板来自于 AK机大厂笔试 星球。 1.1.1 在非递减数组中找到第一个 ≥ x的数 public int lowerBound(int[] nums, int x) { 阅读全文
posted @ 2024-04-29 23:20 菠萝包与冰美式 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 1.0 并查集概念 对于具有传递性质、联通集合的题目可以考虑并查集。 1.1 并查集模板 以下模板来自于 原题链接 有n个数,编号是 1~n,最开始每个数各自在一个集合中, 现在要进行 m 个操作,操作共有两种:1. M a b,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则 阅读全文
posted @ 2024-04-23 13:11 菠萝包与冰美式 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 1.0 树状数组概念 【五分钟丝滑动画讲解 | 树状数组 | 21智人马同学】 树状数组用于高效计算数组前缀和及支持单点更新操作。与前缀和区别在于树状数组可以在O(log n) 的时间复杂度支持单点更新操作。 其数学证明 参考 树状数组的基本原理 1.1 树状数组的性质 lowbit函数 : low 阅读全文
posted @ 2024-04-22 13:03 菠萝包与冰美式 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 哈希入门 LeetCode 1. 两数之和 注意添加顺序,先判断再添加... class Solution { public int[] twoSum(int[] nums, int target) { //{nums value:index} Map<Integer,Integer> map = 阅读全文
posted @ 2024-04-20 22:53 菠萝包与冰美式 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 差分基本概念及其性质 :可以看看这个视频 b站up 星垂月朦胧 有数组 a : a1....an ,则有 d[i] = ai-a[i-1] ,d[i]称之为a差分数组,且d前缀和数组s[d]即为a a = [1 3 7 5 2] d = [1 2 4 -2 -3] s[d] = [1 3 7 5 2 阅读全文
posted @ 2024-04-20 19:42 菠萝包与冰美式 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 1.1 一维前缀和 一维前缀和模板 package com.coedes.presum.mudel;/** * @description:一维前缀和 * @author: https://xuq7bkgch1.feishu.cn/docx/CAbedNJ5KobvinxdyKgcKsrlnrd * 阅读全文
posted @ 2024-04-19 15:44 菠萝包与冰美式 阅读(0) 评论(0) 推荐(0) 编辑