位操作
IDEA_TEYU_1112
其实吧压力也没那么大
展开
-
牛客网刷题java之输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示代码:public class Solution { public int NumberOf1(int n) { int t=0; //先将int转换为一个二进制的字符串,再将字符串转换为字符数组 char[]ch=Integer.toBinaryString(...原创 2019-05-14 09:42:50 · 516 阅读 · 0 评论 -
牛客网刷题java之求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路:利用左移和右移操作通常来说,忽略一些特殊情况>>表示除以2<<表示乘以2对于有符号的负数右移的时候,补的是1,其他情况比的是0,也就是说-4右移一位就是-2代码:public class...原创 2019-05-21 19:26:48 · 759 阅读 · 0 评论 -
牛客网刷题java之整数中1出现的次数
在刷题的时候遇到一个解法,这种解法看似很简单,但是思路一直没有理清晰,有待于解决题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的...原创 2019-05-21 16:41:33 · 251 阅读 · 0 评论 -
牛客网刷题之写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路:首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2。第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。同样我们可以用三步走的方式计算二进...原创 2019-05-29 15:25:02 · 615 阅读 · 0 评论 -
Leetcode刷题java之136. 只出现一次的数字
执行结果:通过显示详情执行用时 :24 ms, 在所有Java提交中击败了18.67%的用户内存消耗 :45.5 MB, 在所有Java提交中击败了5.05%的用户题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:...原创 2019-08-19 10:09:00 · 245 阅读 · 0 评论 -
Leetcode刷题java之389. 找不同
执行结果:通过显示详情执行用时 :2 ms, 在所有Java提交中击败了96.83%的用户内存消耗 :35.9 MB, 在所有Java提交中击败了80.17%的用户题目:给定两个字符串 s 和 t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = "abcd"...原创 2019-08-19 10:34:18 · 406 阅读 · 0 评论 -
Leetcode刷题java之461.汉明距离(用一个方法即可Integer.bitCount直接计算二进制中1的个数)
执行结果:通过显示详情执行用时 :1 ms, 在所有Java提交中击败了99.24%的用户内存消耗 :33.7 MB, 在所有Java提交中击败了77.38%的用户题目:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x =...原创 2019-08-24 10:05:52 · 394 阅读 · 0 评论 -
Leetcode刷题java之476. 数字的补数
执行结果:通过显示详情执行用时 :1 ms, 在所有Java提交中击败了98.53%的用户内存消耗 :34.3 MB, 在所有Java提交中击败了74.03%的用户题目:给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。注意:给定的整数保证在32位带符号整数的范围内。你可以假定二进制数不包含前导零位。示例 1:输入: 5输出: 2解释:...原创 2019-08-24 10:33:41 · 287 阅读 · 0 评论 -
Leetcode刷题java之693. 交替位二进制数
执行结果:通过显示详情执行用时 :1 ms, 在所有Java提交中击败了99.59%的用户内存消耗 :34 MB, 在所有Java提交中击败了73.36%的用户题目:给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。示例 1:输入: 5输出: True解释:5的二进制数是: 101示例 2:输入: 7...原创 2019-08-24 11:02:33 · 293 阅读 · 0 评论