海珠营销型网站建设,录像网站怎么做,wordpress关闭网站,成都招聘网站制作提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 目录 前言
一、题目1-汉明距离
1.题目描述
2.思路与代码
2.1 思路
2.2 代码
二、题目2-颠倒二进制位
1.题目描述
2.思路与代码
2.1 思路
2.2 代码
总结 前言
提示… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 目录 前言
一、题目1-汉明距离
1.题目描述
2.思路与代码
2.1 思路
2.2 代码
二、题目2-颠倒二进制位
1.题目描述
2.思路与代码
2.1 思路
2.2 代码
总结 前言
提示这里可以添加本文要记录的大概内容
2月22日练习内容 提示以下是本篇文章正文内容下面案例可供参考
一、题目1-汉明距离
1.题目描述
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y计算并返回它们之间的汉明距离。 示例 1 输入x 1, y 4 输出2 解释 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 示例 2 输入x 3, y 1 输出1 来源力扣LeetCode 链接https://leetcode.cn/problems/hamming-distance 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2.思路与代码
2.1 思路
1.使用位运算按位异或(^)取x与y的不同
2.while循环将curr的最后一位与count相加接着curr无符号右移
3.不断循环直到curr等于0接着输出距离
2.2 代码
代码如下示例
class Solution {public int hammingDistance(int x, int y) {//x和y的二进制不同int curr x ^ y;//计数器int count 0;while(curr ! 0){count curr 1;curr curr 1;}return count;}
}
二、题目2-颠倒二进制位
1.题目描述
颠倒给定的 32 位无符号整数的二进制位。
提示
请注意在某些语言如 Java中没有无符号整数类型。在这种情况下输入和输出都将被指定为有符号整数类型并且不应影响您的实现因为无论整数是有符号的还是无符号的其内部的二进制表示形式都是相同的。 在 Java 中编译器使用二进制补码记法来表示有符号整数。因此在 示例 2 中输入表示有符号整数 -3输出表示有符号整数 -1073741825。 示例 1 输入n 00000010100101000001111010011100 输出964176192 (00111001011110000010100101000000) 解释输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596 因此返回 964176192其二进制表示形式为 00111001011110000010100101000000。 示例 2 输入n 11111111111111111111111111111101 输出3221225471 (10111111111111111111111111111111) 解释输入的二进制串 11111111111111111111111111111101 表示无符号整数 4294967293 因此返回 3221225471 其二进制表示形式为 10111111111111111111111111111111 。 来源力扣LeetCode 链接https://leetcode.cn/problems/reverse-bits 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2.思路与代码
2.1 思路
1.结果变量end
2.将end左移空出一个位置
3.将n的最后一位数字赋值给end的空出位置处
4.n右移更新最后一位数字
5.输出颠倒后数字
2.2 代码
代码如下示例
public class Solution {// you need treat n as an unsigned valuepublic int reverseBits(int n) {//结果int end 0;//32位for(int i 0;i 32;i ){//end左移空出位置end end 1;//将n的最后一位加给nedend n 1;//右移n n 1;}return end;}
} 总结