摘要:
题目描述: 给定一个长二进制串,求其除以3的余数 思路分析: 这里涉及到状态机,由于除以三的余数只可能是0,1,2。所以状态机就有三个状态。现在逐个遍历二进制串,初始余数为0,当遇到1时,状态转到1,遇到0时状态仍为0。对于状态1,判断分别遇到0和1的状态变换:遇到0,即余数为2转到状态2;遇到1, 阅读全文
摘要:
题目描述: 互娱手撕代码题。 统计从1到n这n个数的二进制表示中1出现的次数。 思路分析: 思路一:直接的做法是从1遍历到n,对于每个数和1做与操作,之后,对于这个数不断做右移操作,不断和1做与操作,直到当前数为0。这样的算法复杂度为O(nlogn)。 思路二:优化时间复杂度,那么考虑用空间换时间。 阅读全文