问题描述 2.6 编写一个函数setbits(x, p ,n, y),该函数返回对x执行下列操作后的结果值: 将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。 Write a function setbits(x,p,n,y) that returns x wit ...
分类:
编程语言 时间:
2020-05-12 00:01:56
阅读次数:
167
@[toc] 实现 pow(x, n),即计算 x 的 n 次幂函数。其中n为整数。 链接: "pow函数的实现——leetcode" . 解法1:暴力法 不是常规意义上的暴力,过程中通过动态调整底数的大小来加快求解。代码如下: 解法2:根据奇偶幂分类(递归法,迭代法,位运算法) 如果n为偶数,则p ...
分类:
编程语言 时间:
2020-05-10 19:14:22
阅读次数:
75
移位操作:简单的把一个值的位向左或向右移动。在左移过程中,值最左边的几位被丢弃,右边多出来的几个空位则由0补齐。 右移操作:却面临着一个左移操作没有的问题。从左边移入新值时,可以选择两种方案 1、逻辑移位,左边移入的用0填充。 2、算术移位,左边移入的位由原先该值的符号位决定,符号位为1则填充1,符 ...
分类:
编程语言 时间:
2020-05-09 19:04:01
阅读次数:
108
题目链接:https://leetcode cn.com/problems/shu zu zhong shu zi chu xian de ci shu lcof/ 位运算 ...
分类:
编程语言 时间:
2020-05-06 22:09:28
阅读次数:
109
package com.swust.bit.example63.example64; /** * 【问题】 * 只用位运算完成整数的加法运算 * 【分析】 * 用位运算实现加法运算。如果在不考虑进位的情况下,a^b就是正确结果, * 因为0加0为0(0&0),0加1为1(0&1),1加0为1(1&0 ...
分类:
其他好文 时间:
2020-05-06 13:51:50
阅读次数:
57
题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路: 异或:求各位只和 与:计算进位 Python代码 1 # -*- coding:utf-8 -*- 2 class Solution: 3 def Add(self, num1, num2): 4 # ...
分类:
编程语言 时间:
2020-05-06 13:45:08
阅读次数:
100
功能 示例 位运算 去掉最后一位 (101101->10110) x>>1 在最后加一个0 (101101->1011010) x<<1 在最后加一个1 (101101->1011011) x<<1+1 把最后一位变成1 (101100->101101) x|1 把最后一位变成0 (101101-> ...
分类:
其他好文 时间:
2020-05-03 01:21:38
阅读次数:
82
? 第一次解题思路: 遍历数组,将数字和出现的次数装到map集合 遍历map集合,取到题目要求值 (其实不能用Map(空间复杂度O(n))) 优化 解题思路:分组位运算 ? 题目要求时间复杂度O(n),空间复杂度为O(1),因此不能用map(空间复杂度O(n)) ? 代码如下: ...
分类:
编程语言 时间:
2020-05-02 18:54:22
阅读次数:
53
1、hash(key),取key的hashcode进行高位运算,返回hash值2、如果hash数组为空,直接resize()3、对hash进行取模运算计算,得到key-value在数组中的存储位置i(1)如果table[i] == null,直接插入Node<key,value>(2)如果table ...
分类:
其他好文 时间:
2020-05-01 23:45:06
阅读次数:
88
四月已过大半,紧急补上一篇博客,本文将讲解二进制状态位在项目中的实战应用,技术原理很简单,就是利用二级制与位运算实现。这种方式的应用场景还是比较广泛,希望对你有用~ 本文首发于个人博客:http://nullpointer.pw/binary tag.html 前言 举个栗子,需要保存这些状态你会怎 ...
分类:
其他好文 时间:
2020-05-01 12:24:05
阅读次数:
53