问题描述 魔术师手中有A、2、3……J、Q、K十三张黑桃扑克牌。在表演魔术前,魔术师已经将他们按照一定的顺序叠放好(有花色的一面朝下).魔术表演过程为:一开始,魔术师数1,然后把最上面的那张牌翻过来,是黑桃A;然后将其放到桌面上;第二次,魔术师数1、2;将第一张牌放到这些牌的最下面,将第二张牌翻转过 ...
分类:
编程语言 时间:
2019-12-20 11:54:04
阅读次数:
107
这道题关于链表的操作,中间指针操作略复杂。 ...
分类:
其他好文 时间:
2019-12-19 19:32:28
阅读次数:
89
位移运算符用来将操作数向某个方向(向左或者右)移动指定的二进制位数。在Java中,位移运算分为左位移和右位移,符号为<<和>>。 左位移运算符 左位移的符号是<<,其运算规则是:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。 例如,将整数 11 向左位移 1 位的过程 ...
分类:
编程语言 时间:
2019-12-19 16:29:59
阅读次数:
185
// 1、数组拼接 concat() var a = [1, 2]; var b = [3, 4]; console.log(a.concat(b)); // [1, 2, 3, 4] // 2、数组翻转 reverse() var a = [1, 2, 3]; console.log(a.reve ...
分类:
编程语言 时间:
2019-12-19 12:48:23
阅读次数:
87
"?? ?? ??" 题意:给你一些序列,要求把这些序列翻转之后能首尾相连(01,10),并且字符串不能相同,询问最小步数; 1.我们只关心这个字符串 首尾位置 ,一共只有四种情况:00,01,10,11;00 和 11 是没必要翻转的,剩下 01,10 只要存在就可以相互抵消(0110,1001这 ...
分类:
其他好文 时间:
2019-12-18 21:39:19
阅读次数:
94
状压DP,对于这种范围给到20的,1<<20并不大,dp[i][j]中i代表状态,表当前二十个二进制位中,有多少点已经走过,j代表的是当前状态中最后的点什么,我们维护这个二维数组,就能得到答案dp[(1<<n)-1][n-1],如何转移呢???很简单,我们知道,一个状态i,由另外一个状态转移过来,一 ...
图灵机模型 输入被制成一串0 1的纸带, 送入到机器中, 这就是数据 机器可以对纸带进行基本的动作, 比如翻转0为1, 翻转1为0, 前进一步, 停止 对基本动作的控制 指令, 机器按照指令的控制选择执行哪一个动作, 指令也可以用0 1表示, 比如11前进, 00停止 输入如何转变为输出的控制可以用 ...
分类:
其他好文 时间:
2019-12-17 15:06:20
阅读次数:
98
做了四五天的专题,但是并没有刷下多少题。可能一开始就对多项式这块十分困扰,很多细节理解不深。 最简单的形式就是直接两个多项式相乘,也就是多项式卷积,式子是$N^2$的。多项式算法的过程就是把卷积做一种变换,在变换后各系数相称得到新系数。其实这一步变换的构造过程挺深奥的,并不是很会。对于多项式卷积的变 ...
分类:
其他好文 时间:
2019-12-16 09:31:10
阅读次数:
153
位域的定义和使用 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, ...
分类:
编程语言 时间:
2019-12-15 22:00:55
阅读次数:
236
nodejs-翻转算法 1 /** 2 * Created by moon on 2019/12/14. 3 */ 4 //程序运行完成时一定要有输出语句,本工具才能正确展示运行结果。 5 6 7 function abc() 8 { 9 var n = 50; 10 var min_n = n / ...
分类:
编程语言 时间:
2019-12-14 09:52:43
阅读次数:
97