摘要:
原创博文,转载请注明出处! # 题目 # 思路 本题即为典型的约瑟夫问题,通过递推公式倒推出问题的解。原始问题是从n个人中每隔m个数踢出一个人,原始问题变成从n-1个人中每隔m个数踢出一个人…… 第一行表示每个人的下标,现在要从11个人中删除报数为3的人,从图中可以可看出最后7是胜利者。分析其中的规律: 第一轮中,11个人中胜利者7的角标是6; 第二轮中,10个人中胜... 阅读全文
posted @ 2018-05-09 21:41
wanglei5205
阅读(382)
评论(0)
推荐(0)
摘要:
# 题目 # 思路 顺子满足的条件: 数组长度必须为5 除0外没有重复的牌(0表示大小王) 顺子中最大值和最小值的差值小于5 # 代码 #include #include using namespace std; class Solution { public: bool IsContinuous( vector numbers ) { // 数组长度必须... 阅读全文
posted @ 2018-05-09 17:24
wanglei5205
阅读(1114)
评论(0)
推荐(0)
摘要:
# 题目 # 思路 # 代码 阅读全文
posted @ 2018-05-09 16:47
wanglei5205
阅读(209)
评论(0)
推荐(0)
摘要:
# 题目 # 思路 设C[i] = A[0] * A[1] * … * A[i-1],D[i] = A[i+1] * … * A[n-1],则C[i]按照从上到下的顺序计算,即C[i] = C[i-1] * A[i-1]。D[i]按照从下而上的顺序计算,即D[i] = D[i+1] * A[i+1] 。由C[i] 和 D[i]可以退出计算B[i]的公式,即B[i] = C[i] * D[i] ... 阅读全文
posted @ 2018-05-09 15:51
wanglei5205
阅读(264)
评论(0)
推荐(0)
摘要:
# 题目 不使用新变量,交换两个变量的值。 # 思路 方法一:使用加减法操作,交换两个变量的值。 A = A+B B = A-B A = A-B 方法二:使用异或运算,交换两个变量的值 A = A^B B = A^B A = A^B # 代码 #include using namespace std; void... 阅读全文
posted @ 2018-05-09 11:05
wanglei5205
阅读(358)
评论(0)
推荐(0)
摘要:
原创博文,转载请注明出处! # 题目 # 思路 第一步:不考虑进位对每一位相加(异或操作) 第二步:考虑进位(位与运算+左移) 第三步:第一步和第二步相加(重复执行前两步) # 代码 #include using namespace std; class Solution { public: int Add(int num1, int num2) { int ... 阅读全文
posted @ 2018-05-09 10:36
wanglei5205
阅读(618)
评论(0)
推荐(0)

浙公网安备 33010602011771号