算法 随想录 训练营 数组
(坚持每天都写算法)算法基础复习part1基础算法1-4——二分
二分使用的前提是有序性的条件如果要找以下情况: 1.找大于等于数的第一个位置 2.找小于等于数的第一个位置 二分使用的前提是无序性的条件下如果要找以下情况: 1.找最大值 2.找最小值 二分法一般有边界问题,如果是有序性的条件下的话只要记住一句话:有加必有减。 这里是示例代码: int mid = ......
代码随想录 day13 滑动窗口最大值 前 K 个高频元素
滑动窗口最大值 这题第一次见 比较难找到思路 滑动窗口的移动比较类似于队列的行为 但是我们需要找到其中的最大值 在线性时间复杂度下 只能维护这个队列保持单调性 但是我们没有这样的一个可以在移动中保持单调的数据结构 只能自己手动创建 我们利用deque进行队列的创建 这个队列有三个基本函数 pop 用 ......
【学习笔记】树状数组
树状数组支持两种操作: 单点修改 区间求和 如果我们使用普通数组,这两种操作的时间复杂度分别为 \(O(1)\) 和 \(O(n)\)。虽然修改的时间复杂度很低,但是求和操作在数据量很大的情况下就会很耗时。如果我们使用前缀和,那么区间求和的时间复杂度就会降为 \(O(1)\),而单点修改会影响到后面 ......
浦语书生大模型实战训练营01笔记
大模型总的发展趋势:单一模型处理单一任务到一个模型解决多个任务 书生.浦语大模型开源历程:internLM大模型发布-》全面商业、开源支持8k语境全链路开源体系》多模态预训练语料库开源发布-》1.1版本迭代升级,开源智能体框架支持语言模型到智能体升级转换-》增强版发布开源工具全线升级 书生.浦语大模 ......
文心一言 VS 讯飞星火 VS chatgpt (175)-- 算法导论13.3 4题
四、用go语言,Teach 教授担心 RB-INSERT-FIXUP可能将 T.nil.color 设为 RED,这时,当 z 为根时第1行的测试就不会让循环终止。通过讨论 RB-INSERT-FIXUP永远不会将 T.nil.color 设置为 RED,来说明这位教授的担心是没有必要的。 文心一言 ......
MCM_算法篇
from pixiv Cellular Automata 参考文章: 元胞自动机的实现与应用 这篇文章将CA的实现给出,具体实现细节可以看: Python 实现基于元胞自动机的生命游戏 澳洲变燠洲,考拉成烤拉!澳大利亚山火为什么难以控制? ......
day13 代码随想录算法训练营 347. 前 K 个高频元素 【待梳理】
题目:347. 前 K 个高频元素 我的感悟: 我用hash再排序。 卡尔用的小顶堆。 `heapq`是Python中的一个模块,它提供了堆队列(也称优先队列或者堆)的算法实现。在计算机科学中,堆是一种特殊的完全二叉树数据结构,其中每个父节点的值都小于或等于其子节点的值(在最小堆中)或者父节点的值都 ......
day13 代码随想录算法训练营 239. 滑动窗口最大值
题目:239. 滑动窗口最大值 我的感悟: 来难度了,有点意思, 理解难点: 需要实现自定义队列, 看了国外的解题思路和其他的回答,感觉还是卡尔的思路,更有意思。 实现队列: pop只弹出左边边界且左边界为最大值的时候 push 要维护队列里的大到小的单调性。把队尾小的都卷走 front查询最大值 ......
算法期末复习笔记
分治 基本概念 基本思想 将原始问题分解为若干子问题 逐个解决各个子问题 得到原始问题的解 情况分类 原始问题的解在分解出的子问题中 原始问题的解需要各个子问题的解再经过综合处理得到 如果分解出的子问题和原始问题类型相同,就可以用递归的方法做了 算法示例 查找最大值最小值 O(logn) 二分搜索 ......
KMP 算法
Question: Given two strings needle and haystack, return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haysta ......
计算器算法
目录思路最简单的计算器(好像也不简单,因为有*/)224772 困难计算器 可以通解224 227 和上面的题 先把力扣上5道计算器的题目干了,主要使用双栈法 思路 用一个栈ops存操作,用一个栈nums存数字 然后从前往后做,对遍历到的字符做分情况讨论: 空格 : 跳过 ( : 直接加入 ops ......
常用容器:动态数组array、列表list、队列 queue、map或字典、 集合、栈等等
一般语言都会提供一些逻辑容器的实现,各个语言的实现方式不同;底层的数学算法应该差不多; # 动态数组, 这个没啥可说的,就是一个数组,满了时候,再创建一个数组,把之前的数组里的数据移过来,销毁之前数组; ......
mysql底层join算法
暴力 Nested-Loop Join 走索引的 index-Nested-Loop Join 缓冲块的 blocked-Nested-Loop Join mysql join 底层实现_mysql join实现算法-CSDN博客 走index loop join ,说明如果联表走主键,就算条件不走 ......
【算法】【线性表】【链表】链表求和
1 题目 给定两个用链表表示的整数,每个节点包含一个数位。 这些数位是反向存放的,也就是个位排在链表首部。 编写函数对这两个整数求和,并用链表形式返回结果。 示例: 输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295 输出:2 -> 1 -> 9,即912 进阶: ......
代码随想录 day14 二叉树的递归遍历 迭代遍历(栈) 统一遍历(栈)
二叉树的节点的孩子数量称之为度 所有节点度为0或2的二叉树是满二叉树 完全二叉树是所有非叶节点都是度为2的节点 叶子都尽可能的靠左 前序遍历:中左右 中序遍历:左中右 后续遍历:左右中 这里左右中指的是当前节点的遍历顺序 中就是先遍历当前节点 再遍历子树 前序遍历递归代码: 中序遍历递归代码: 后序 ......
复健训练3
ARC168 最极限的一次! 101min过C,118min50s过D!! 别说,这个C题确实反常规,看了半天dp,但深入分析什么串是合法的就会发现 \(S\) 的顺序是不会影响答案的,那么这就变成了一个计数题。 D 总感觉在哪见过,但不记得了.... E 是极好的wps二分题,link ARC16 ......
代码随想录算法训练营第二十七天 | 39. 组合总和,40.组合总和II,131.分割回文串
一、39. 组合总和 题目链接: LeetCode 39. 组合总和 学习前: 思路: 无 学习后: 思路: 需要额外定义的成员变量: private List<List<Integer>> res; private List<Integer> list; 调用函数: List<List<Integ ......
ClickHouse的JOIN算法选择逻辑以及auto选项
Setting配置join_algorithm用于指定JOIN算法,它可以设置为多个值,例如join_algorithm='direct,hash,partial_merge'。在选择最终JOIN算法的时候是根据setting配置join_algorithm, 以及JOIN操作的Strictness... ......
javascript数组合并效率对比
1、数组元素量级大而合并次数少时,性能对比: concat() > push() > […array1,…array2] 2、数组元素少但合并次数多时,性能对比: push() > concat() > […array1,…array2] 参考资料:http://www.seozhijia.net/ ......
【算法】【线性表】【数组】只出现一次的数字 II
1 题目 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。 示例 1: 输入:nums = [2,2,3,2] 输出:3 示例 2: 输入:nums = ......
浅谈几类线段树、树状数组优化 DP
本文主要介绍几类线段树和树状数组优化动态规划的方法。 本文的理论部分比较简单,所以主要以题目讲解为主。 这是本蒟蒻的第一篇日报,如有问题,请指出,感谢。 Part 0. 前置知识 动态规划 线段树 Part 1. 属性在一个区间的进行转移 这是讨论的是形如 \(f_i=Y(i)+\max\limit ......
Java利用fastjson解析复杂嵌套json字符串、json数组;json字符串转Java对象,json数组转list数组 首先要明白,以 { } 开头的是JSONObject,以 [ ] 开头的是JSONArray,如果本身就是json字符串的格式(即格式类型为String),那就不用转换,直接使用转换方法进行转换。
Java利用fastjson解析复杂嵌套json字符串、json数组;json字符串转Java对象,json数组转list数组 首先要明白,以 { } 开头的是JSONObject,以 [ ] 开头的是JSONArray,如果本身就是json字符串的格式(即格式类型为String),那就不用转换,直 ......
(坚持每天都写算法)算法基础复习part1基础算法1-3
发现了一个不太好的习惯,我写东西不喜欢Tab一下,导致行与行之间有点难区分。 题目: 思路:这道题其实考的就是归并,2可以和3比,也可以和6比,也就是说2是可以被使用多次的。之所以使用归并,是因为单个的2以及单个的3也就是单个的数字可以看成是一个数组(关于这个想法,集合也是通用的),那么就要给数组进 ......
编程随想曲周刊(第62期)
这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 工具 自动清除网站加在 URL 后面的冗余内容:ClearURLs 文章 去做吧,停止空谈 卸磨杀罗振宇 新巨富是如何诞生的 生活 泼天的富贵终于轮到哈尔滨了 孙燕姿妹妹发文:无法忍受姐姐的所作所为,决定断绝关系! 播客 东方甄选 ......
视频智能分析/边缘计算AI智能分析网关V4区域入侵检测算法如何配置?
上图所示是配置好的绘画区域,也可以自定义绘制(点击【检测区域】进行绘制即可),如果不绘制则默认检测整个摄像机的画面,点击保存配置可以将算法保存 ......
day11 代码随想录算法训练营 150. 逆波兰表达式求值
题目:150. 逆波兰表达式求值 我的感悟: 注意int(a/b)是0向截断 比如 -2.3 会得到-2; 比如3.6 会得到3 a//b是向下取整,比如是-2.3 会得到-3;比如3.6 会得到3 主要是负数不同 理解难点: 0向取整注意 注意先弹出的是右边的,(想象二叉树的结构。先弹出的是右边节 ......
Shaply算法
Shapley值归因是一种公平且基于贡献分配权重的算法,它源于博弈论,用于在多因素共同作用产生结果的情况下,精确计算每个因素(或渠道)对总体效果的独特贡献。以下是一个使用具体数据说明Shapley值归因的例子: 假设一个电商平台上有三个广告渠道:邮件营销(M)、社交媒体广告(S)和搜索引擎广告(E) ......
检验算法程序的好坏标准
什么是算法程序? 算法程序通常指的是执行特定算法的计算机程序。要深入理解这个概念,我们可以将其分解为“算法”和“程序”两部分,并探究它们的基本含义。 简而言之:对特定问题求解过程的描述。 算法 (Algorithm): 定义:算法是解决问题的明确步骤序列,它是独立于任何编程语言的,可以用伪代码、流程 ......
一维数组和字符数组
1.一维数组 写一个函数用于打印数组中的每一个元素,注意数组在传递时,元素个数传递不过去,仅传递数组内存首地址,所以sizeof(a)/sizeof(int)的值永远是1,无法算出数组元素真正的个数。 可以单步调试观察内存中变量值的变化。原理是编译器在编译时,只传递了数组的起始地址,故在子函数中可以 ......