- 博客(93)
- 资源 (1)
- 收藏
- 关注
原创 【C语言】
时间长度N分钟内,每分钟都有一些顾客进店,其中customers[i]是第i分钟进入商店的顾客数量,所有顾客1分钟后离开。waitress某些时间会笑,smile[i]=1表示笑,顾客满意;smile[i]=表示不笑,顾客不满意;此外,可以有一次调整情绪,连续minutes分钟一直笑。那么最多多少顾客满意。对于每组测试数据,返回最大满意的顾客数量。smile[ ]长度。
2025-01-06 23:05:39
304
原创 136.只出现一次的数字
输入一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。j-=2不仅去掉新增的a[j],还要集体前移1位,所以索引迁移2位。
2024-03-19 00:33:03
205
原创 【python】元组
在python中使用()定义元组,元素与元素之间使用英文的逗号分隔。元组中只有一个元素的时候,逗号也不能省略。是python中内置的不可变序列。
2024-02-14 11:59:16
192
原创 【python】列表
是指一系列的按特定顺序排列的元素组成。是python中内置的可变序列在python中使用[]定义列表,元素与元素之间使用英文的逗号分隔列表中的元素可以是任意的数据类型。
2024-02-14 11:57:24
404
原创 292.Nim游戏
当石头数量为4k+1(k为自然数)时,率先拿走1块石头,之后无论对方拿走几块,保证一回合内拿走石头数量和为4。即对方拿1块,自己拿3块;对方拿2块,自己拿2块;对方拿3块,自己拿1块。当石头数量为4k+2(k为自然数)时,率先拿走2块石头,之后无论对方拿走几块,保证一回合内拿走石头数量和为4。当石头数量为4k+3(k为自然数)时,率先拿走3块石头,之后无论对方拿走几块,保证一回合内拿走石头数量和为4。每一回合,轮到的人拿掉 1 - 3 块石头。当石头数量为4k(k为整数)时,不能保证赢。
2024-02-04 23:51:57
415
原创 9.回文数
输入一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
2024-02-01 23:07:48
385
原创 【算法】补码反码
返回x二进制中最低位的1和后面的0所组成的十进制数。求一个数二进制表示中含1的个数。求一个数二进制表示的第k位是几。负数的二进制表示=补码=反码。
2024-01-30 22:49:17
271
原创 2808.使循环数组所有元素相等的最少秒数
然后我们研究,使得数组全部变为 xxx 所需要的时间,这个时间取决于 nums\textit{nums}nums 中,相邻 xxx 的最大距离。对于范围在 [0, n - 1] 内的每一个下标 i ,将 nums[i] 替换成 nums[i] ,nums[(i - 1 + n) % n] 或者 nums[(i + 1) % n] 三者之一。首先用哈希表,统计 nums\textit{nums}nums 中相同的数所出现的位置,mp[x]\textit{mp}[x]mp[x] 表示 xxx 所出现的位置。
2024-01-30 17:09:28
194
原创 514.自由之路
显然,只有当字符串 ring的第 j个字符需要和 key的第 i个字符相同时才能拼写出 key的第 i个字符,因此对于 key的第 i个字符,需要考虑计算的 ring的第 j个字符只有 key[i]在 ring中出现的下标集合。旋转的最终目的是将字符串 ring 的一个字符与 12:00 方向对齐,并且这个字符必须等于字符 key[i]。定义 dp[i][j]表示从前往后拼写出 key的第 i个字符, ring的第 j个字符与 12:00方向对齐的最少步数(下标均从 0开始)。
2024-01-29 21:37:16
332
原创 365.水壶问题
有两个水壶,容量分别为和 jug2Capacity 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 targetCapacity 升。如果可以得到 targetCapacity 升水,最后请用以上水壶中的一或两个来盛放取得的 targetCapacity 升水。你可以:装满任意一个水壶清空任意一个水壶从一个水壶向另外一个水壶倒水,直到装满或者倒空一个水壶a升,一个水壶b升,假设b>a,如果a和b互素,那么1~b都能取到,则1~(a+b)都能取到。
2024-01-28 02:00:47
768
原创 2846.边权重均等查询
现有一棵由n个节点组成的无向树,节点按从0到n - 1编号。输入一个整数n和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] = [ui, vi, wi] 表示树中存在一条位于节点 ui 和节点 vi 之间、权重为 wi 的边。另给你一个长度为 m 的二维整数数组 queries ,其中 queries[i] = [ai, bi]。对于每条查询,请你找出使从 ai 到 bi 路径上每条边的权重相等所需的 最小操作次数。
2024-01-26 09:51:18
458
原创 【python】程序的流程控制
执行流程:如果表达式的值为True,就执行语句块,如果表达式的值为False,就跳过语句块,继续执行后面的代码。流程图:用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,主要适用于较短的算法。伪代码:介于自然语言和编程语言之间的一种算法描述语言,如果程序比较小,可以直接用代码描述。顺序结构:按程序语句的自然顺序,从上到下,依次执行每条语句的程序。自然语言:使用人类语言,直接描述程序。选择结构:按照条件执行不同的代码段。单分支结构if的语法结构。
2024-01-25 23:55:33
500
原创 2859.计算k置位下表对应元素的和
一个下标从 0 开始的整数数组 nums 和一个整数 k。请你用整数形式返回 nums 中的特定元素之 和 ,这些特定元素满足:其对应下标的二进制表示中恰存在 k 个置位。整数的二进制表示中的 1 就是这个整数的 置位。例如,21 的二进制表示为 10101 ,其中有 3 个置位。先找什么下标满足k个置位。2的n次幂为1,2,4,8,16,32,64,128,256,512,所以满足的下标为k个2的n次幂之和。
2024-01-25 11:13:22
409
原创 670.最大交换
输入一个非负整数,至多可以交换一次数字中的任意两位。返回你能得到的最大值。将数字拆分,每一位放进数组num[i]。将最高位换成最大的数,如果最高位是最大的,将次高位换成第二大的数…
2024-01-23 15:28:14
914
原创 2788.按分隔符拆分字符串
输入一个字符串数组words和一个字符separator,请你按separator拆分words中的每个字符串。返回一个由拆分后的新字符串组成的字符串数组,不包括空字符串。注意先拼接,然后按separator划分,最后去掉空字符串。
2024-01-20 11:26:33
450
原创 2809.使数组和小于等于x的最少时间
输入两个长度相等下标从 0 开始的整数数组nums1和nums2,和一个整数 x。每一秒,对于所有下标nums1[i]的值都增加nums2[i]。操作 完成后 ,你可以进行如下操作:选择任一满足 0 <= i < nums1.length 的下标 i ,并使 nums1[i] = 0。返回使 nums1 中所有元素之和 小于等于 x 所需要的 最少 时间,如果无法实现,那么返回 -1。每个数最多归0一次,大的nums2晚归0。
2024-01-19 12:00:06
383
原创 【算法】递归
在degree有限的情况下,degree=n的三角形,由3个degree=n-1的三角形按品字形拼叠而成,边长均为degree=n的三角形的一半(规模减小)递归是一种解决问题的方法,其精髓在于将问题分解为规模更小的相同问题,持续分解,直到问题规模小到可以用飞常简单直接的方式来解决。分形:一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状,即具有自相似的性质。比10大的整数,拆成一系列比10小的整数,逐个查表,如769,拆成7、6、9。
2024-01-18 22:59:30
3256
原创 【python】变量与常量
在堆内存中开一块空间,放入8,栈内存中变量名luck_number指向堆当中的内存空间。在程序运行过程中,值不允许改变的量,全部使用大写字母和下划线命名。通过赋不同类型的值,可以直接动态修改python变量的数据类型。在python中允许多个变量指向同一个值。
2024-01-18 22:00:31
324
原创 [python]保留字与标识符
保留字:指在python中被赋予特定意义的一些单词,在开发程序时,不可以把这些保留字作为变量、函数、类、模块和其它对象的名称来使用用内置模块keyword查看保留字保留字严格区分大小写。
2024-01-18 16:13:04
371
原创 【python】基本输出输入函数
python3以unicode进行内部字符编码,为双字节16位,可编成65536个字符,中文码从U4E00到U9FA5。将数据输出到文件中需要使用内置函数open。注意字符串和整数无法连接。
2024-01-16 23:04:59
566
原创 【数据结构】链表
数组:数组中元素储存在连续的内存位置,声明数组时可以指定数组的大小,限制数组可以存储的元素数量。但如果事先不知道元素的大小,可以申请一个足够大的数组,但是内存中可能没有足够大连续内存空间,如何合理地利用内存中的非连续空间呢链表:一种非常灵活的动态数据结构,不将其元素存储在连续的内存位置中,所以可以任意添加链表元素的数量链表与数组的不同:链表中的数据在内存中并不是顺序存储的,而是通过在链表的每个元素中,保存指向下一个元素的引用,来找到下一个元素。
2024-01-15 18:39:27
610
原创 程序设计语言的分类
将源代码转换成目标代码,通常源代码是高级语言代码,目标代码是机器语言代码,执行编译的计算机程序称为编译器。eg:java好处:对于相同的源代码编译产生的目标代码执行速度更快,目标代码不需要编译器就可以直接运行缺点:修改源程序只能通过修改源代码,再重新编译执行——静态语言。
2024-01-14 22:25:48
545
通信系统实验 计算机网络
2022-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人