数据结构与算法
小心眼YUAN
这个作者很懒,什么都没留下…
展开
-
开灯问题 P39
有n盏灯,编号1~n 。第一个人把所有灯点亮 ,第2个人按下所有编号为2的倍数的灯开关,第3人按编号为3的灯的倍数的灯的开关,依次k个人按下开关(其中关的灯被打开,开的灯被熄灭),求最后哪些灯开着?k<=n<=1000。 【分析】 用数组直接模拟操作即可。 #include<stdio.h> #include<string.h> const int ma...原创 2018-09-20 13:18:33 · 196 阅读 · 0 评论 -
蛇形填数 P39
在n*n方阵里填入1,2,...n*n,要求填成蛇形。如下 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 【分析】 用四个while循环模拟四个方向,做好边界判断和非零判断。 #include<stdio.h> #include<string.h>...原创 2018-09-20 14:57:14 · 112 阅读 · 0 评论 -
回文串和镜像串
输入一个字符串,判断它是否为回文串以及镜像串,输入的字符串保证不含数字0,回文串就是反转后与原串相同,例如abba等,镜像串就是左右镜像之后与原串相同,例如2S,但并不是每个字符都在镜像后有合法的字符串与之对应。镜像图略。 分析:回文串和镜像串的判断一起完成,使用常量数组解决,本人使用string类来完成 #include<iostream> #include<stri...原创 2018-10-09 21:45:26 · 522 阅读 · 0 评论 -
算法技巧总结
1. 巧用数组下标 2. 巧用取余 3. 巧用双指针 4. 巧用移位运算。 5. 设置哨兵位 6. 与递归有关的一些优 (1)对于可以递归的问题考虑状态保存 (2)自底向上 总结一下 当你在使用递归解决问题的时候,要考虑以下两个问题 (1). 是否有状态重复计算的,可不可以使用备忘录法来优化。 (2). 是否可以采取递推的方法来自底向上做,减少一味递归的开销。 文章具体内容...转载 2018-11-22 15:37:06 · 72 阅读 · 0 评论 -
细节处理&技巧
(1)检查空指针。如剑指offer15题,求链表中倒数第k个节点。要注意检查第一个指针。 while(k--){ if(p1!=NULL){ p1=p1->next; }else return NULL; } ...原创 2019-04-25 11:46:27 · 120 阅读 · 0 评论