两次翻转,先翻转整个字符串,然后对其中的单词进行翻转。 这里要注意,reverse(s + a, s + b), s为数组名, a, b为长度,这里翻转的范围是s[a] – s[b-1],类似于s…
标签:算法
n人围成一圈报数
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位 import java.util.LinkedList; impo…
hdu 4280(最大流ISAP)
http://acm.hdu.edu.cn/showproblem.php?pid=4280 模板题裸的最大流,n和m较大,时间卡的紧,要用堆栈加bfs优化 #include <cstdio> #includ…
190510打卡:两个单链表香相交的一系列问题
题目描述: 在本题中,单链表可能有环,也可能无环。给定两个单链表的头节点 head1和head2,这两个链表可能相交,也可能不相交。请实现一个函数, 如果两个链表相交,请返回相交的第一个节点;如果不相交,返回null 即…
海盗分赃问题
有5个海盗,按照等级从5到1排列。最大的海盗有权提议他们如何分享100枚金币。但其他人要对此表决,如果多数反对,那他就会被杀死。他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?(提示:有一个海盗能拿到98%…
决策树
因为自己平时写计算的代码比较多,很少写树结构的(决策树算法的实现零零整整花了近两周),所以数据结构和代码效率上待优化的地方应该还有很多,仅提供给大家借鉴。 类的定义 自己网上搜到的代码很多都没有定义类,我自己对于这样的代…
190505打卡:两个单链表生成相加链表
题目描述: 假设链表中每一个节点的值都在0~9之间,那么链表整体就可以代表一个整数。 例如:9->3->7,既可以代表整数937。 给定两个这种链表的头结点head1和head2,请生成代表两个整数相加值的结…
插入排序(python实现)
插入排序,和选择排序很像,简单的说就是和选择排序的顺序反一下,也是把列表看作两部分,前面是排好序的,后面是无序的,遍历这个列表,依次把数字往前面有序的那部分放,放进去的时候,再和前面的排序好的数字的最后一位开始比,如果大…
【leetCode】【javascript】997. Find the Town Judge找到小镇的法官
题目描述: In a town, there are N people labelled from 1 to N. There is a rumor that…
快速排序
int partition(int arr[], int left, int right) { int i = left, j = right; int tmp = arr[left]; while (i < j)…
求x到y的最少计算次数
题目描述 给定两个-100到100的整数x和y,对x只能进行加1,减1,乘2操作,问最少对x进行几次操作能得到y? 例如: a=3,b=11: 可以通过322-1,3次操作得到11; a=5,b=8:可以通过(5-1)*…
长URL链接转短链接算法
引言 新浪、腾讯、搜狐等微博网站都加入了短链接的功能。之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少。短链接的主要职责就是把原始链接很长的地址压缩成只有6 个字母的…