![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法up
jiuzhi_
这个作者很懒,什么都没留下…
展开
-
找无重复字符的最长子串的长度
文章目录滑动窗口法代码实现题目:给出一字符串,找其无重复字符的最长子串的长度滑动窗口法从第一个字符开始,找出没有重复字符的子串s1,此时max等于s1的长度从第二个字符开始,找出没有重复字符的子串s2,比较s2的长度和max,更新max的值依次类推,直到最后一个字符过程如下:以“pwwkew”为例1.(pw)wkew2.p(w)wkew3.pw(wke)w4.pww(kew)5.pwwk(ew)6.pwwke(w)代码实现var lengthOfLongestSubstri原创 2020-06-09 18:37:54 · 162 阅读 · 0 评论 -
排序算法(插入类排序)
文章目录插入类排序直接插入排序折半插入排序希尔排序根据耿国华老师的sopc课程总结(都以从小到大排序为例)插入类排序直接插入排序将第i个记录直接插入到前面排好序的i-1个记录中。将第i个记录K_i顺次与前面i-1个记录比较,将所有大于K_i的记录向后移,当遇到一个小于或者等于K_i的记录时,该记录后必有一个空位,此时把K_i插入空位即可完整的直接插入排序从i=2开始,将第一个记录记为已排好序的序列//直接插入排序 void InsSort(int *num, int len){ if(num原创 2020-05-19 16:54:32 · 302 阅读 · 0 评论 -
C语言实现打印1到最大的n位数
文章目录常规思路的陷阱改进代码实现代码的实现过程问题:输入一个数字n,按顺序打印从1到最大的n位十进制数常规思路的陷阱用一个循环从1开始逐个打印 ,这里并没有给出n的范围,当n很大时,整形(int)和长整型(long)都可能溢出改进解决这个问题需要表达一个大数,最常用也最容易的方法是用字符串或数组表达大数代码实现先实现打印部分(这里注意要满足阅读习惯,如098就不满足阅读习惯,98才满足)//按照阅读习惯打印数字,碰到第一个非0字符才开始打印 void printNumber(char *原创 2020-05-14 17:58:19 · 673 阅读 · 0 评论 -
三种方法实现求二进制中1的个数
文章目录位运算基本思路(可能造成死循环)更优解法还有一种解法问题:输入一个整数,输出其二进制表示中1的个数位运算位运算是把数字用二进制表示后,对每一位上0或1的运算与 &或 |异或 ^:相同为0,相异为1左移 <<:m << n,左移n位,最左边的n位将被丢弃,同时在右边补上n个0右移 >>:与左移相反基本思路(可能造成死循环)先判断输入的整数最右一位是不是1接着将整个数字右移一位,此时,原来处于从右边数第2位的数字就成了最右一位了,再原创 2020-05-12 10:37:25 · 953 阅读 · 0 评论