摘要: 约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3。最后只有1存活。 思路:用环链表实现,每计数到M,删除该处的节点,直到最后仅剩一个节点,输出节点的值,就是存活的人。 #include< 阅读全文
posted @ 2020-07-19 15:00 victorywr 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 一、时间复杂度为N,空间复杂度为1(遍历整个栈元素,逐个比较,找出最小值) 二、空间复杂度为N,时间复杂度为1(创建一个辅助栈,栈顶存放当前已入栈的最小值) 例如我们要把数组 arr = {2, 1, 3} 都放⼊栈中,则存放过程如下: 1、⾸先 push 2。由于刚开始 stack 和 helpe 阅读全文
posted @ 2020-07-19 11:21 victorywr 阅读(266) 评论(0) 推荐(0) 编辑