自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1071.字符串的最大公约数

首先确定上界:通过求len1和len2的最大公约数得到的d,如果这d个字符重复不同次数后能够得到s1和s2,那么上界就是d个字符。假设最长公共字符串长度为d,则字符串1长度可表示为len1=d x m,字符串2长度可表示为len2=d x n;通过求len1 and len2的最大公约数d,如果d重复不同次数后能够得到s1 and s2,那么前d个字符就是最长公共字符串。假设存在更短的d1(d1<d),d1重复不同次数后可以得到s1 and s2,那么d1不就是公约数吗?显然不可能存在这种情况。

2025-11-27 17:36:48 178

原创 1021.删除最外层的括号【栈】

利用在一组原语的最外层括号处level值为0,因此不复制。灵活运用-2 -1 0 1来判断是否复制当前字符串。

2025-11-24 11:39:13 101

原创 929.独特的电子邮件地址

convertemail 函数中 malloc 分配的 ans 字符串,在 insert 后未被 free(insert 中用 strdup 复制了 key,原 ans 成为孤儿指针)。哈希表 emails 中的节点(struct hashcode)及 key 字符串,在函数结束后未被释放,导致内存泄漏。1.flag1(+ 位置)未处理 “无 + 号” 的情况;该程序已经能运行,但是由于内存泄露问题,导致结果有误。初始版程序(未参考任何信息,自创)第二版程序:未修改内存泄露问题。未考虑域名中有+情况。

2025-11-19 17:09:57 172

原创 884.两句话中的不常见单词【结构体-find&add&iter&del】

【代码】884.两句话中的不常见单词【结构体-find&add&iter&del】

2025-11-16 16:16:17 111

原创 819.最常见的单词(结构体)

学习如何使用字符串 ,关于思路来自本人,但是代码细节参考了AI。

2025-11-10 11:25:07 107

原创 804.唯一的摩尔斯密码词(uthash)

心得:思路没有问题,但是没有建立hash的解题想法,导致开始写的代码很复杂。利用hash键唯一性,自动去重,可以更高效实现个数统计。

2025-11-09 15:27:12 110

原创 748.最短补全词

【代码】748.最短补全词。

2025-11-06 15:20:13 69

原创 696.计数二级制字串

实际上,是解决该问题的思路有问题,相邻不同字符组,最小相同个数代表了字符串。双循环实现:时间复杂度O(n^2),超时。

2025-11-06 09:28:23 208

原创 599.两个列表的最小索引和【使用结构体】

结构体作用:存储共同字符串及索引和。

2025-11-02 15:09:48 72

原创 另一棵树的子树

题目:给你两棵二叉树 root 和 subRoot。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true;否则,返回 false。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。

2025-11-02 13:35:19 139

原创 557.反转字符串中的单词III

方法一:自己思路,利用strtok,strcat封装函数操作!参考官方,在源字符串上操作;

2025-11-01 10:37:03 141

原创 反转字符串II

参考官方:实际上就是每当下标是2k的整数倍(0,1…),反转其后的k个字符。如果不足2k,则反转min(k,len-i)个字符。方法一:自编,显得很蠢。

2025-10-31 13:11:31 204

原创 500.键盘行

设置每一行标志位flag1、flag2、flag3,通过判断三者和与1的关系来决定当前字符串是否满足题意。将每一行字符的大小写连接为一个字符串保存为一个字符数组中,作为strchr()函数查找源;

2025-10-29 17:08:26 182

原创 482.密钥格式化

参考官方重新设计代码:倒序遍历,只用一个循环就能实现。

2025-10-29 16:22:58 138

原创 459.重复的子字符串(周期字符串的判定)

原本在思考 将基本周期内字符串存储到数组,后续要判断的字符串也存储到一个数组,但是这样会浪费内存且麻烦。可以用strcmp(s,s+i,k)方式解决。我们将两个 s 连在一起,并移除第一个和最后一个字符。如果 s 是该字符串的子串,那么 s 就满足题目要求。个人思路:找到基本周期,然后判断后面字符串是否和基本周期字符串一致。参考官方:周期函数f(x)=f(x-T)参考官方,利用拼接字符串,巧妙寻找。参考官方,引入KMP算法。判断字符串是否有周期性。

2025-10-28 22:01:52 205

原创 434.字符串中的单词数

注意这里用到a||b,如果a为真,则不会判断b。注意单词指的是不是空格的连续字符。利用封装函数strtok。

2025-10-26 14:50:10 102

原创 412.Fizz Buzz

第一版答案:逻辑简单,但是很多细节需要修改,特别是else中整数转字符串,然后又如何存储的问题。

2025-10-25 14:17:08 169

原创 判断子序列

官方答案:思路一致,即贪吃算法,依次判定,直到,判定完s中所有字符或者在t中未找到字符为止。个人程序:复杂利用两个循环实现。官方答案:预处理方式优化时间。

2025-10-23 16:40:05 176

原创 389.找不同

字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。给定两个字符串 s 和 t ,它们只包含小写字母。第一版程序:算频次,矛盾点:两者频次不相等。请找出在 t 中被添加的字母。参考官方代码,利用位的异或运算。参考官方代码:利用求和 做差。

2025-10-23 14:54:28 173

原创 290.单词规律

利用uthash实现。

2025-10-23 14:31:46 96

原创 二叉树的所有路径

【代码】二叉树的所有路径。

2025-10-23 14:29:07 64

原创 字符串中的第一个唯一字符

第一版:利用哈希表计算字母频次,然后找出第一个频次为1的。第二版程序:使用拓展库uthash实现【官方答案】

2025-10-22 15:17:59 114

原创 同构字符串

维护两张哈希表,第一张哈希表 s2t 以 s 中字符为键,映射至 t 的字符为值,第二张哈希表 t2s 以 t 中字符为键,映射至 s 的字符为值。从左至右遍历两个字符串的字符,不断更新两张哈希表,如果出现冲突(即当前下标 index 对应的字符 s[index] 已经存在映射且不为 t[index] 或当前下标 index 对应的字符 t[index] 已经存在映射且不为 s[index])时说明两个字符串无法构成同构,返回 false。第一版程序:没看懂题目,参考官方对题目的解答,利用简单哈希表实现。

2025-10-21 16:25:51 202

原创 有效的字母异位词

第一版程序:利用两个for循环,同时分别统计s[i]字符在s和t中的频次,统计完后比较是否一致,不一致直接返回false。但是时间复杂度过高,不符合时间要求。参考官方,采用哈希表降低时间复杂度。

2025-10-21 15:16:10 188

原创 Excel表列名称

利用取余数得到每个字符,利用取商得到下一位的输入。但是要注意有一个特例:26的整倍数,需要减去最低位的26,才能进行取商。第二版:参照官方答案,省去密码本转换函数。且省去求字符数组长度的相关代码,直接定义为8位。官方求解:可应用与关于整数取模相关问题。

2025-10-21 11:31:44 108

原创 验证回文串

第三版程序:参考官方答案,使用库函数isalnum、tolower来实现。第二版程序:转换为小写后,直接首尾开始循环比较。第一版:使用反转字符串来比较相等。

2025-10-20 20:37:00 208

原创 字符串二进制求和

注意两点:1.字符串反转(循环一半首位交换);2.按照位为操作单位,进行全加器处理(体现部分和整体的关系)。

2025-10-20 18:56:35 170

原创 最后一个单词长度

【代码】最后一个单词长度。

2025-10-20 11:49:52 89

原创 找出字符串中第一个匹配项的下标

可以采用Knuth-Morris-Pratt 算法、Boyer-Moore 算法、Sunday 算法等。

2025-10-20 11:18:02 100

原创 最长公共前缀

【代码】最长公共前缀。

2025-10-18 16:44:09 103

原创 android studio运行java main函数

android 运行main函数

2023-03-28 17:32:37 239

原创 查看APK文件源代码

查看apk源码

2023-03-27 13:30:00 4247

原创 fragment之间通信

android fragment间通信

2023-03-06 14:25:20 355

原创 Ubuntu 安装ROS kinetic步骤

ros kinetic安装

2023-02-16 00:51:37 251

原创 查找任意位数的自幂数

查找任意位数的自幂数

2023-02-15 13:25:28 85

原创 判断一个数是否为质数

判断一个数是否为质数

2023-02-15 12:43:50 80

原创 生成一个二维数组:要求数据随机

生成二维数组,要求数据随机

2023-02-14 18:00:39 974

原创 hello world!——第一个程序

创建右键创建TXT文件,后缀名改成java,用notepad++打开代码:public class hello{ public static void main(String[] args){ System.out.print("hello world!"); }}代码解读1.第一行:public class表示类,hello是类名2.第二行:public static void 是修饰符,关键字;main()是方法;String[] args 是参数3.System.out.p

2021-07-06 01:29:47 110

原创 DOS学习

打开cmd方式资源管理器的地址栏路径前面加cmd+空格+回车window+R+cmd管理员方式运行选择以管理员方式运行,可获取最高权限常用DOS命令(英文状态下输入)1.盘符切换(可切换电脑不同盘):如D:+回车2.查看当前目录下的所有文件:dir+回车3.切换目录(change directory):cd+空格+/d+空格+盘名:\目录路径 如:cd /d D:\DOS study4.返回上一级:cd+空格+.. 如:cd ..5.进入下一级:cd+文件名(

2021-07-05 16:57:22 84

原创 Markdown学习

Markdown学习标题:一级:#+空格+回车二级:##+空格+回车三级:###+空格+回车最多支持到六级字体:hello world!hello world!(前后各加两个星号,或者前后各加两个下划线)hello world!(前后各一个星号:斜体)hello world!(前后两个~~)引用:大于号+空格分割线:(如上分割线,三个-)(三个*,效果如上)图片:格式:!+[]+():使用时候,把+去掉,[ ]里面写标题,()里面写图片路径,注意是英文输入状态下

2021-07-05 16:10:16 93

空空如也

空空如也

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

TA关注的人

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