训练营
代码随想录算法训练营第一天
Leetcode704 二分查找 https://leetcode.cn/problems/binary-search/submissions/494474207/ 文档讲解:https://programmercarl.com/0704.%E4%BA%8C%E5%88%86%E6%9F%A5%E6 ......
浦语书生大模型实战训练营03笔记和作业
1.1配置环境 进入命令行,安装pytorch环境 bash /root/share/install_conda_env_internlm_base.sh InternLM conda activate InternLM # 升级pippython -m pip install --upgrade ......
浦语书生大模型实战训练营02笔记
1.打开算力平台,选择合适的配置进入算力开发机进入jupyter工具终端安装开发所需python深度学习环境: bash # 请每次使用 jupyter lab 打开终端时务必先执行 bash 命令进入 bash 中 bash /root/share/install_conda_env_intern ......
day13 代码随想录算法训练营 递归遍历
题目: 144.二叉树的前序遍历 145.二叉树的后序遍历 94.二叉树的中序遍历 我的感悟: 用helper内部函数写更好 理解难点: 代码难点: 代码示例: 前序 # Definition for a binary tree node. # class TreeNode: # def __ini ......
浦语书生大模型实战训练营01笔记
大模型总的发展趋势:单一模型处理单一任务到一个模型解决多个任务 书生.浦语大模型开源历程:internLM大模型发布-》全面商业、开源支持8k语境全链路开源体系》多模态预训练语料库开源发布-》1.1版本迭代升级,开源智能体框架支持语言模型到智能体升级转换-》增强版发布开源工具全线升级 书生.浦语大模 ......
day13 代码随想录算法训练营 347. 前 K 个高频元素 【待梳理】
题目:347. 前 K 个高频元素 我的感悟: 我用hash再排序。 卡尔用的小顶堆。 `heapq`是Python中的一个模块,它提供了堆队列(也称优先队列或者堆)的算法实现。在计算机科学中,堆是一种特殊的完全二叉树数据结构,其中每个父节点的值都小于或等于其子节点的值(在最小堆中)或者父节点的值都 ......
day13 代码随想录算法训练营 239. 滑动窗口最大值
题目:239. 滑动窗口最大值 我的感悟: 来难度了,有点意思, 理解难点: 需要实现自定义队列, 看了国外的解题思路和其他的回答,感觉还是卡尔的思路,更有意思。 实现队列: pop只弹出左边边界且左边界为最大值的时候 push 要维护队列里的大到小的单调性。把队尾小的都卷走 front查询最大值 ......
代码随想录算法训练营第二十七天 | 39. 组合总和,40.组合总和II,131.分割回文串
一、39. 组合总和 题目链接: LeetCode 39. 组合总和 学习前: 思路: 无 学习后: 思路: 需要额外定义的成员变量: private List<List<Integer>> res; private List<Integer> list; 调用函数: List<List<Integ ......
day11 代码随想录算法训练营 150. 逆波兰表达式求值
题目:150. 逆波兰表达式求值 我的感悟: 注意int(a/b)是0向截断 比如 -2.3 会得到-2; 比如3.6 会得到3 a//b是向下取整,比如是-2.3 会得到-3;比如3.6 会得到3 主要是负数不同 理解难点: 0向取整注意 注意先弹出的是右边的,(想象二叉树的结构。先弹出的是右边节 ......
day11 代码随想录算法训练营 1047. 删除字符串中的所有相邻重复项
题目:1047. 删除字符串中的所有相邻重复项 我的感悟: 做过的题,还是有印象的。 本身也不难,独立写出来了。 理解难点: 代码难点: 代码示例: class Solution: def removeDuplicates(self, s: str) -> str: stack = [] for i ......
day11 代码随想录算法训练营 20. 有效的括号
题目:20. 有效的括号 我的感悟: 脑回路清奇 理解难点: 遇到左括号存对应的右括号 3中情况, 1.左括号多了 2.右括号多了 3.左右括号不匹配 剪枝:奇数可以直接剪枝 注意为空的判断,防止报错 代码难点: 存3种情况 23情况要返回False 其他直接pop 最后判断stack栈为不为空,来 ......
代码随想录算法训练营第二十五天 | 216.组合总和III,17.电话号码的字母组合
一、216.组合总和III 题目链接: LeetCode 216.组合总和III 学习前: 思路: 返回类型和参数: void fun(int n, int k, int start) 终止条件: int len = list.size(); if(len==k){ if(n==0 ){ List< ......
代码随想录算法训练营第二十四天 | 回溯算法理论基础,77. 组合
一、回溯算法理论基础 学习: 1. 基本概念 回溯法是一种搜索方式 回溯的本质是穷举,是递归的副产品,即回溯算法就是递归算法 回溯解决的问题都能理解成树形结构,一般是在集合中递归查找子集。集合的大小构成树的宽度(n叉树),递归的深度构成了树的深度 2. 回溯解决的问题 (1)组合问题:N个数里面按一 ......
day09 代码随想录算法训练营 459. 重复的子字符串
题目:459. 重复的子字符串 我的感悟: 重复两个子串,掐头去尾。 证明的话,不太会。 理解难点: 什么脑袋瓜子想出来的解法?? 代码难点: 总结概括: 代码示例: class Solution: def repeatedSubstringPattern(self, s: str) -> bool ......
代码随想录算法训练营第二十三天 | 669. 修剪二叉搜索树,108.将有 序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树
一、669. 修剪二叉搜索树 题目链接: LeetCode 669. 修剪二叉搜索树 学习前: 思路: 递归。节点非空时的值与目标区间[low,high]右三种情况 节点值小于low 返回递归调用节点右孩子结果,即它右子树剪枝后的根节点 节点值大于high 返回递归调用节点左孩子结果,即它左子树剪枝 ......
day08 代码随想录算法训练营 卡码网:55.右旋转字符串
题目:卡码网:55.右旋转字符串 我的感悟: python中的切片很厉害。 我感觉go好像也是切片的 理解难点: 没理解为什么是-n 代码难点: 总结概括: 代码示例: n = int(input()) s = input() res = s[-n:] + s[:-n] print(res) 通过截 ......
day08 代码随想录算法训练营 151. 反转字符串中的单词
words = s.split() 题目:151. 反转字符串中的单词 我的感悟: 虽然我自己写出来了,但是又不太确定 理解难点: words = s.split() 切记:这里split是去掉所有的空格。 words = s.split(" ") 如果这样写" "就仅仅去除" "一个空格,这样写不 ......
day08 代码随想录算法训练营 卡尔网54. 替换数字
题目:54. 替换数字 我的感悟: 过于简单,我有点不敢相信 理解难点: 代码难点: 总结概括: 本质要理解这个数字是如何判断的 用ord("0")算出字符0的ASCII码再和9的ASCII码对比 str1 = input() ans = "" for ss in str1: if ord("0") ......
day08 代码随想录算法训练营 541. 反转字符串 II
题目:541. 反转字符串 II 我的感悟: 你别看这题简单,python里面细节很多 理解难点: 字符串转化为列表来算 s[1:99] 只会取到s[1:s.size] 这个range(0,size,k) 是可以取到步长的 或者用另外的思路。 代码难点: 总结概括: 注意[1:999]这里的容错机制 ......
day08 代码随想录算法训练营 344.反转字符串
题目:344. 反转字符串 我的感悟: 以为很难,其实不难。 坚持就是胜利!!!!!!!!! 理解难点: 我以为字符串不能修改,仔细看了题目发现是列表里面套的字符串 双指针,while 互相交互就可以了 代码难点: 总结概括: 代码示例: class Solution: def reverseStr ......
InterLM训练营 第一课笔记
大模型在ChatGPT发布之后,成为今年最热的话题与研究方向,也有人把今年称为AI元年 通用大模型 书生·浦语大模型 开源历程 书生·浦语大模型系列 性能 从模型到应用 针对上述的步骤中所用到的不同技术,提供了不同的开源框架 数据 预训练 微调 评测 OpenCompass 部署 智能体 Lagen ......
代码随想录算法训练营第二十二天 | 235. 二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,450.删除二叉搜索树中的节点
一、235. 二叉搜索树的最近公共祖先 题目链接: LeetCode 235. 二叉搜索树的最近公共祖先 学习前: 思路: 对于二叉搜索树,root不为空时与p和q的关系有4种,分别对应返回 root<p && root<q 递归调用右孩子 rootp || rootq return root ro ......
day07 代码随想录算法训练营 15. 三数之和
题目:15. 三数之和 我的感悟: 加油,我可以的。不能放弃。 理解难点: 双指针 思路打开 边界考虑 代码难点: 缩进问题 continue是跳出循环条件 我以前分不清循环条件和判断条件。哈哈哈。一个是if 一个是while / for 总结概括: 只要不放弃就行!!!!!!!! 代码示例: cl ......
day07 代码随想录算法训练营 383. 赎金信
题目:383. 赎金信 我的感悟: 我自己独立做出来了。 理解难点: so easy 代码难点: 扩展理解defaultdic, 定义的时候 hashmap = defaultdict(int) hashmap拿到一个不存在的值的时候会设置为0 int可以省略吗? 不可以,int是工厂函数。用于设置 ......
day07 代码随想录算法训练营 454. 四数相加 II
题目:454. 四数相加 II 我的感悟: 把握题意:这道题目是四个独立的数组,只要找到A[i] + B[j] + C[k] + D[l] = 0就可以 有点像上学那会,提醒自己要注意题意。审题很关键。审题的要点是要明白题目说什么。 理解难点: 为什么可以只遍历AB和CD,不遍历AC和BD? 都可以 ......
代码随想录算法训练营第二十一天|530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先
一、530.二叉搜索树的最小绝对差 题目链接: LeetCode 530.二叉搜索树的最小绝对差 学习前: 思路: 中序遍历(递归+迭代)。首先中序遍历,将数值按照递增的方式存储,然后再计算最小绝对差 学习后: 中序遍历+双指针。在中序遍历中,一直存在指针指向前序结点,故在遍历过程中就可计算最小绝对 ......
day06 代码随想录算法训练营 1. 两数之和
题目:1. 两数之和 我的感悟: 梦开始的地方 理解难点: map究竟是什么 存放已经遍历的元素值 什么时候需要用map? 遍历一边,这里面的元素值,后面都有可能要用就存起来。 代码难点: 掌握enumerate用法 [ɪ'njuːməreɪt] e + numer + ate 助记: e-出 + ......
day06 代码随想录算法训练营 202. 快乐数
题目:202. 快乐数 我的感悟: 2024年了,你快不快乐?找找自己的原因。 理解难点: 分离数组 快乐数字的定义, 不快乐的数字会无限循环 代码难点: divmod用法, set用法 总结概括: 快乐就完事了! 代码示例: class Solution: def isHappy(self, n: ......