算法
文章平均质量分 80
小小数媒成员
分享学习笔记~编程慢慢长路,寻找志同道合的朋友20岁的年纪,只管大方勇敢向前
展开
-
无重复字符的最长子串
/1.上一个此字符出现的位置,用当前下标减去上一个位置下标。//记录当前字符的位置 当作之后比较这个字符上次出现在i位置。//2.前一个字符,往前推了多远,用前一个位置推的长度加一。//当前字符推的长度与之前字符推的长度里最大的作比较。//将当前字符推的长度当作下一轮比较的上一个位置长度。//两个因素哪个推的远要哪个,记录当前字符推的长度。//从一位置开始遍历,以此推断往前能推多远。//上一个位置,往左推了多长,初始值为1。,请你找出其中不含有重复字符的。//从1开始,0位置记在0位置。原创 2024-03-30 10:55:52 · 266 阅读 · 0 评论 -
【让所有司机获得总体最多的分配问题】
第i个司机去A可得收入为income[i][0],第i个司机去B可得收入为income[i][1],返回所有调度方案中能使所有司机总收入最高的方案是多少钱?0[9,13] 表示0号司机去A收入9元,去B收入13元;0号司机可去A,也可去B。//说明B区域已经满了,当前司机一定要去A区域income[index][0]//说明A区域已经满了,当前司机一定要去B区域income[index][1]1[9,13] 司机可去A,也可去B。2[9,13] 司机可去A,也可去B。6[9,13] 司机可去A,也可去B。原创 2024-03-29 21:28:22 · 232 阅读 · 0 评论 -
二叉树算法
二叉树二叉树节点结构Class Node{V value; Node left; Node right;} 【搜索二叉树】:对于每一棵子树来说,左树节点都比它小,右树节点都比它大 【完全二叉树】:最后一层满或从左到右依次变满判断方式:二叉树按宽度来遍历依次遇到每个节点过程中,出现情况:1) 遇到任何一个节点,如果有右孩子,没左孩子,直接返回false2)在1)成立条件下,如果第一个左、右两孩子不双全,后续遇到所有皆为叶节点,否则false 方法一:先求树的最大深度l,再统计树的节点个数N。满足N原创 2023-08-02 11:51:04 · 298 阅读 · 0 评论 -
链表的算法
哈希表的简单介绍有序表的简单介绍有序表的固定操作单链表结构双链表结构笔试:方法一:1—>2—>3—>3—>2—>1,依次放到栈里,从栈里弹出的顺序与原链表逆序的顺序对比方法二:用N2方法,找快慢指针;左边开始遍历,每遍历一个,栈弹出一个对比怎么只把右部分放入栈里去?快慢指针 快指针每次走2步,慢指针每次走1步快指针走完时,慢指针来到中间位置,这时把慢指针后边放入栈里去快指针每次走2步,慢指针每次走1步快指针走完时,慢指针来到中间位置A如果A,B每步都一样则回文。原创 2023-07-30 09:55:42 · 285 阅读 · 0 评论 -
排序算法汇总
一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作时间复杂度为一个算法流程中,常数操作数量的一个指标。常用O(读作bigO)来表示。具体来说,先要对一个算法流程非常熟悉,然后去写出这个算法流程中,发生了多少常数操作,进而总结出常数操作数量的表达式。在表达式中,只要高阶项,不要低阶项的系数,剩下的部分如果为f(N),那么时间复杂度为O(f(N))评价一个算法流程的好坏,先看时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是“常数项时间”原创 2023-07-26 19:03:12 · 1183 阅读 · 3 评论