当前位置: 首页 > news >正文

网站备案扫描建设银行手机绑定网站

网站备案扫描,建设银行手机绑定网站,天津黑曼巴网站建设,贸易公司网站设计案例题目 输入一个非负数n#xff0c;请计算0到n之间每个数字的二进制形式中1的个数#xff0c;并输出一个数组。例如#xff0c;输入的n为4#xff0c;由于0、1、2、3、4的二进制形式中1的个数分别为0、1、1、2、1#xff0c;因此输出数组[0#xff0c;1#xff0c;1…题目 输入一个非负数n请计算0到n之间每个数字的二进制形式中1的个数并输出一个数组。例如输入的n为4由于0、1、2、3、4的二进制形式中1的个数分别为0、1、1、2、1因此输出数组[01121]。 分析1 很多人在面试的时候都能想到直观的解法使用一个for循环来计算从0到n的每个整数i的二进制形式中1的个数。于是问题转换成如何求一个整数i的二进制形式中1的个数。 计算整数i的二进制形式中1的个数有多种不同的方法其中一种比较高效的方法是每次用“ii-1”将整数i的最右边的1变成0。整数i减去1那么它最右边的1变成0。如果它的右边还有0则右边所有的0都变成1而其左边所有位都保持不变。下面对i和i-1进行位与运算相当于将其最右边的1变成0。以二进制的1100为例它减去1的结果是1011。1100和1011的位与运算的结果正好是1000。二进制的1100最右边的1变为0结果刚好就是1000。 解1 public class Test {public static void main(String[] args) {int[] result countBits(4);for (int res : result) {System.out.println(res);}}public static int[] countBits(int num) {int[] result new int[num 1];for (int i 0; i num; i) {int j i;while (j ! 0) {result[i];j j (j - 1);}}return result;} }分析2 根据前面的分析可知“ii-1”将i的二进制形式中最右边的1变成0也就是说整数i的二进制形式中1的个数比“ii-1”的二进制形式中1的个数多1。 解2 public class Test {public static void main(String[] args) {int[] result countBits(4);for (int res : result) {System.out.println(res);}}public static int[] countBits(int num) {int[] result new int[num 1];for (int i 1; i num; i) {result[i] result[i (i - 1)] 1;}return result;} }分析3 还可以使用另一种思路来解决这个问题。如果正整数i是一个偶数那么i相当于将“i/2”左移一位的结果因此偶数i和“i/2”的二进制形式中1的个数是相同的。如果i是奇数那么i相当于将“i/2”左移一位之后再将最右边一位设为1的结果因此奇数i的二进制形式中1的个数比“i/2”的1的个数多1。例如整数3的二进制形式是11有2个1。偶数6的二进制形式是110有2个1。奇数7的二进制形式是111有3个1。我们可以根据3的二进制形式中1的个数直接求出6和7的二进制形式中1的个数。 解3 public class Test {public static void main(String[] args) {int[] result countBits(4);for (int res : result) {System.out.println(res);}}public static int[] countBits(int num) {int[] result new int[num 1];for (int i 1; i num; i) {// 用“i1”计算“i/2”用“i1”计算“i%2”result[i] result[i 1] (i 1);}return result;} }
http://www.zqtcl.cn/news/763420/

相关文章:

  • 如何做招聘网站分析wordpress状态修改
  • 兰考网站建设微信运营是干嘛的
  • 网站ps照片怎么做的网站开发项目实训报告
  • 做流量网站it建设人才网
  • 杭州拱墅区网站建设推荐定制型网站建设
  • 网站建设需要达到什么样的效果上海营销网站推广多
  • 现代化公司网站建设长沙公司网站建立
  • 网站开发需要哪些人才辽宁奔之流建设工程有限公司网站
  • 做旅游产品的网站有哪些个人做搜索网站违法吗
  • 营销型网站的功能网站制作价钱多少
  • angularjs 网站模板工作感悟及心得
  • 福州 网站定制设计哈尔滨网站建设咨询
  • 酒吧网站模板创办网页
  • 外贸网站建设软件有哪些现在网站建设用什么语言
  • lnmp wordpress 主题不见高级seo课程
  • 成都哪家公司做网站最好杭州软件开发
  • 做网站多少宽带够wordpress编辑文章中图片
  • 无锡网站制作排名软件工程公司
  • 做网站国内好的服务器美食网站建设项目规划书
  • 三亚市住房和城乡建设厅网站江西电信网站备案
  • 联谊会总结网站建设对外宣传如何在家做电商
  • 360建站系统徐州建设银行网上银行个人网站
  • 网站域名在哪里备案石家庄站规模
  • 重庆南川网站制作公司电话工会网站群建设
  • 深圳高端建设网站忘了网站链接怎么做
  • 郑州做网站报价wordpress中文4.8
  • 网站维护费用一年多少跨境电商平台网站建设广州
  • 辽宁网站制作公司网店装修流程
  • html5可以做交互网站吗打开网站说建设中是什么问题?
  • 彩票网站开发制作需要什么wordpress 在线预览