自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 机器学习 | 准确率、召回率、精准率、特异度傻傻分不清?ROC曲线怎么看?一篇文章帮你搞定

提高召回率是为了少漏报;提高精准率是为了少错报。ROC曲线纵轴为真正率,横轴为假正率

2024-04-27 13:31:32 1069

原创 软件设计师备考 | 第八章 算法设计与分析

本篇介绍了软件设计师考试中第八章《算法设计与分析》的主要考试内容。

2024-04-22 16:34:18 573

原创 软件设计师备考 | 第七章 面向对象技术

面向对象(Object-Oriented, OO)方法是一种非常实用的系统软件开发方法,它以客观世界中的对象为中心,其分析和设计思想符合人们的思维方式,结果与客观世界的实际比较接近,容易被人们所接受。

2024-04-13 18:52:44 604

原创 统计 | Levene检验

如果 p 值小于显著性水平,我们拒绝原假设,认为各组的方差不相等;如果 p 值大于显著性水平,我们接受原假设,认为各组的方差相等。Levene检验是方差齐性检验的一种,即检验各组样本方差是否相等的一种统计方法.它通常用于方差分析(ANOVA)前的一个步骤。Levene检验的零假设是各组的方差相等。较大,表示各组之间的中心化偏差较大,即不同组别的样本方差差异较大;与各自组均值的偏差,用来衡量组内观测值的变异程度。较小,表示各组之间的中心化偏差较小,即不同组别的样本方差差异较小。之间的差异程度,用以衡量。

2024-04-12 18:21:35 503

原创 网络知识 | IP地址与MAC地址,TCP三次握手与四次挥手

MAC地址(Media Access Control Address),又称物理地址,用来标识网络中的设备,出厂时由生产网商写到网卡的BIOS中,具有唯一性,不可更改。IP地址(Internet Protocol Address),用来标识计算机在网络上的位置,能通过IP地址定位到局域网,不能定位到具体的设备上。

2024-04-12 15:45:02 431

原创 牛客刷题 | HJ75 公共子串计算

最大公共子串长度:是用动态规划。

2024-03-30 22:11:37 224

原创 牛客刷题 | HJ74 参数解析

本篇重点:参数解析——使用if语句时,逻辑要清晰。

2024-03-26 21:35:20 292

原创 牛客刷题 | HJ71 字符串通配符

本篇重点:使用正则表达式进行字符串匹配

2024-03-24 21:53:51 416

原创 软件设计师备考 | 第五章 软件工程基础知识

本篇包含第五章软件设计师中比较重要的部分,文章中的序号对应《软件设计师教程》中的章节。5.1软件工程概述,5.2 软件过程模型,5.3 需求分析,5.4 系统设计,5.6 运行和维护知识,5.8 软件质量,5.9 软件度量,项目管理

2024-03-23 21:45:23 269

原创 牛客刷题 | HJ68 成绩排序, HJ69 矩阵乘法,HJ70 矩阵乘法计算量估算

本篇重点 1. 成绩排序: key要为名字+编号(固定的位数),熟练掌握lambda函数在sorted中的应用。2. 矩阵乘法: 直接按照公式计算,注意输出格式。3. 矩阵乘法计算量估算:对于有括号的运算,想到用栈解决。

2024-03-21 00:28:20 156

原创 牛客刷题 | HJ64 MP3光标位置, HJ65 查找两个字符串a,b中的最长公共子串,HJ66 配置文件恢复,HJ67 24点游戏算法

本篇关键点:1. MP3光标:设置了两个变量,分别记录当前光标指向的音乐和当前音乐在当前页中的位置。之后只要根据题目中图片说明的翻页情况分条件讨论就好。2. 使用动态规划查找公共子串,注意dp[i][j]中对应的是字符串中i-1和j-1的位置。3. 配置文件恢复:使用字典;用slice判断字符是否为指定字符的前几位(字符长度是已知的)。4. 24点:考虑括号的情况。

2024-03-17 16:53:35 233

原创 牛客刷题 | HJ52 计算字符串中的编辑距离, HJ55 挑7,HJ59 找出字符串中第一个只出现一次的字符

本篇关键点:1. 使用动态规划计算字符串中的编辑距离。 2. 查找子字符串的剪枝。

2024-03-16 19:35:48 382

原创 牛客刷题 | HJ45 名字的漂亮度,HJ48 从单向链表中删除指定值的节点

统计单词中每个字母出现的次数,依次按出现频率从大到小分配漂亮度。

2024-03-15 09:48:43 234

原创 牛客刷题 | HJ42 学英语 ,HJ44 Sudoku

学习了牛客的题解。由于每三个数字时一组,可以先设置三位数字(即小于1000)的读法,然后分成百万组,千组,个组,根据数字的长度来分配每一组前面的数字。如:num = 1234567-->1,234,567百万组:1,234,567 mod 1,000,000 = 1 --> 1百万千组:(1,234,567 // 1,000)mod 1000 = 234 --> 234千个组:1234567 mod 1000 --> 567。

2024-03-13 22:58:37 247

原创 牛客刷题|HJ33. 整数与IP地址间的转换

二进制和十进制间的转换。重点在于int和str的转换。进行数值运算时要转换为int型,而进行数字的拼接、slice,’.join'时,又要转换为str型。

2024-03-12 10:17:06 334

原创 牛客刷题|HJ27 查找兄弟单词,HJ32 密码截取

对字典中的每一个单词,如果它不等于x且与x的长度相同,查找它每个字母是否在x中,如果存在,则删除x中对应的字母,若最后x为空,则说明此单词为x的兄弟单词。注意每次比较一个新的单词, 需要copy一个完整的x。

2024-03-10 15:03:57 163

原创 牛客刷题|HJ24 合唱队,HJ25 数据分类处理 , HJ26 字符串排序

对队列中每个元素分别找左边最长递增序列和右边最长递减序列(都不一定是连续的),那么以当前元素为“山顶”可以保留的最大人数就是两者之和减一。寻找最长递增序列可以用实现。但测试用例只通过了2/20,我使用其它用户发的代码并作了些格式上的修改,依然只能通过2/20。有没有人能告诉为什么:(

2024-03-07 22:49:49 935

原创 牛客刷题|HJ20 密码验证合格程序, HJ16 购物单,H17坐标移动

思路不复杂,建一个set,加入每行的数,由于set中元素不重复,所以不用手动判断是否去重。全部加入后,用sorted函数排序,输出。:建立列表和字典,分别记录地址+行号,和地址+行号:计数。对于每一行输入,只记录地址的后16位和行号,如果字典中没有,记录在字典和列表中,如果有,对应键值加1。对于每个主件,只有四种考虑情况:是否放主件,放主件+附件1,放主件+附件2, 放主件+附件1+附件2。:将输入值以分号隔开存放,对每一项判断是否为合法坐标,若合法,则按照字母和移动方向的关系更新x轴,y轴的值。

2024-03-05 23:54:38 405

原创 LeetCode刷题|22. 括号生成, 554. 砖墙,547. 省份数量

如果左边括号小于n,可以加上“(", 进入递归。如果左括号小于右括号,可以加上右括号,进入递归,当总括号数达到2n时,加入到结果集中。

2024-03-02 23:12:13 246

原创 代码随想录算法训练营第五十六天(单调栈篇)| LeetCode 739, 496, 503,42,84

用栈存放柱子的位置,当每次遍历到的元素大于栈口元素,那么如果存在”凹槽“,那么栈口元素的位置就是凹槽的底部,将其弹出,如果此时栈中还有元素,说明在栈口元素的位置左边有比它高的柱子,凹槽存在,可以计算接到的雨水。:循环每一个元素的下标和值,如果当前温度高于在栈口元素对应的温度,那么就弹出该天数的下标,计算天数,记录到该天数的结果集中,等栈中小于当前温度的日子都被弹出且记录后,再把当前温度的下标记在栈里,来被之后几天的温度查找。,把第一个pop出后,stack便空了,就无法接着计算以第一个数为基准的面积了。

2024-03-01 23:59:42 1010

原创 代码随想录算法训练营第五十五天(动态规划篇)| LeetCode 198.,213. 打家劫舍

dp[i]: 到包括下标为i的房屋位置,所能偷窃的最大金额。

2024-02-29 00:14:17 358

原创 LeetCode 刷题|179. 最大数,135, 分发糖果,1. 两数之和

学习了一位大佬(https://leetcode.cn/problems/largest-number/solutions/716725/gong-shui-san-xie-noxiang-xin-ke-xue-xi-vn86e/)的思路,短而精,很强。对于nums中任意两个值a,b,无法从常规角度上确定其大小/先后关系,但可以根据它们构造的结果决定它们的排序关系:如果拼接结果ab比ba大,我们认为a应该排在b前面。这里用到了函数,参与到有关键函数参数的排序算法中。sorted函数根据在cmp。

2024-02-27 23:25:05 367

原创 代码随想录算法训练营第五十四天(完全背包篇)| 279. 完全平方数,139. 单词拆分

dp[j]: 总和为j的平方数的最小个数。

2024-02-27 22:17:22 584

原创 LeetCode 刷题|20. 有效的括号,394. 字符串解码

遍历字符串,如果遇到的不是’]',就把元素加到栈里,如果遇到']',就将栈中’['之前的元素(即字符)提取出来作为要重复的元素,把'['弹出后,再把遇到的数字给提取出来,最终实现一次重复的操作。

2024-02-25 23:41:30 306

原创 代码随想录算法训练营第五十三天(完全背包篇)| LeetCode 322. 零钱兑换

对于遍历到的硬币coin[i],它可以和金额和为j-coin[i]的硬币们凑成金额j,那么所需的最少个数就是dp[j-coin[i]]+1(加上它自己),如果这个值小于不考虑coin[i]时的值dp[j],就选择它,否则选择原来的值。凑足0元所需最少的硬币肯定是0个——不选就行了,所以dp[0] = 0。这里考虑的是装满背包的个数问题,和遍历硬币的顺序无关,可以外层遍历背包容量(即金额),内层遍历物体(即硬币),也可以交换。dp[j]: 凑足金额为j所需要的最少硬币为dp[j]个。

2024-02-25 23:39:00 214

原创 LeetCode刷题|3. 无重复字符的最长字串,46. 全排列,475. 供暖器

建一个窗口(list),如果字符串中的元素不在窗口中,就添加到窗口,如果存在,就删除窗口中包含此元素之前的元素,再把元素添加到窗口里。在遍历过程中,更新子字符串的长度,最后返回最大值。

2024-02-19 23:51:16 132

原创 代码随想录算法训练营第五十二天(完全背包篇)| 卡码网57. 爬楼梯

dp[j]: 到达j层有dp[j]种方法。

2024-02-15 22:50:36 213

原创 LeetCode刷题| Leetcode 45. 跳跃游戏,1190. 反转每对括号间的子串,781. 森林中的兔子,739. 每日温度

题目链接:这道题思路不难记,遍历数组每个位置,更新下一次的范围,当当前位置已经在当前范围之外时,步数一定得加一,当前范围更新成下一个范围。难点在于边界条件。步数默认为0。

2024-02-14 21:35:20 400

原创 代码随想录算法训练营第五十一天(完全背包篇)|377. 组合总和Ⅳ

dp[j]: 凑成目标正整数i的组合(排列)有dp[j]个。

2024-02-13 22:48:05 413

原创 代码随想录算法训练营第五十天(完全背包篇)|518. 零钱兑换Ⅱ

dp[j]:装满容量为j的完全背包有dp[j]种方法。

2024-02-12 22:03:59 385

原创 代码随想录算法训练营第四十九天(动态规划篇)| 474. 一和零, 完全背包理论基础

dp[i][j]: 最多装i个0和j个1的背包最多能装dp[i][j]个物体。

2024-02-11 22:37:42 520

原创 代码随想录算法训练营第四十八天(动态规划篇之01背包)| 1049. 最后一块石头的重量Ⅱ,494. 目标和

dp[j]: 将容量为j的背包装满的方法。

2024-02-10 15:59:37 348

原创 代码随想录算法训练营第四十七天(动态规划篇)| 416. 分割等和子集

容量为j的背包,所背的物品价值最大可以为dp[j]。若dp[j] == j 说明集合中的某子集总和正好可以凑成总和j;如果dp[sum/2] = sum/2,说明数组可以被分割成等和子集。

2024-02-09 19:09:34 541

原创 代码随想录算法训练营第四十六天(动态规划篇)|01背包(滚动数组方法)

容量为j的背包可以背的物品的最大价值。

2024-02-08 23:12:20 504 1

原创 代码随想录算法训练营第四十五天(动态规划篇)|01背包

有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。

2024-02-06 21:19:06 1011

原创 代码随想录算法训练营第四十四天(动态规划篇)|343. 整数拆分,96. 不同的二叉搜索树

对于1-n个节点组成的二叉搜索树,根节点可以是1-n总共n种,每一种根节点的数量是以此为根结点左子树节点数量和以此为根节点右子树的数量的乘积。

2024-01-31 23:10:20 313

原创 代码随想录算法训练营第四十三天(动态规划篇)|63. 不同路径Ⅱ

如果当前网格有障碍物,那么无法到达;

2024-01-28 22:13:27 742

原创 代码随想录算法训练营第四十二天(动态规划篇)|62. 不同路径

【代码】代码随想录算法训练营第四十二天(动态规划篇)|

2024-01-27 21:45:20 183

原创 代码随想录算法训练营第四十一天(动态规划篇)|理论基础,509. 斐波那契数, 70. 爬楼梯, 746. 使用最小花费爬楼梯

动态规划:每一个状态一定是由上一个状态推导出来的。贪心:局部直接选最优的。

2024-01-26 15:54:37 298

原创 代码随想录算法训练营第四十天(贪心算法篇)| 763. 划分字母区间,56. 合并区间, 738. 单调递增的数字

对于第一步,我一开始建了一个方程来统计一个字母的最远位置,在第二部每次遍历字母,都要单独调用方程,所以效率很慢,但其实有更好方法,即简历字典,只用一次循环,不断地更新遇到的每个字母地最远位置就行了。从后向前遍历数字,如果当前比前一位小,将前一位减一,把当前位变为9。注意不能从前往后,这样减一之后就无法保证比前面的位数大了。只有从后往前才能重复利用上一次的比较效果。直接在数组中删除、更改元素会比较混乱,所以我专门开了一个空数组来储存结果。

2024-01-26 10:55:53 281

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除