手套,查找整数二进制中1的个数
发布日期:2021-05-14 17:06:05 浏览次数:20 分类:精选文章

本文共 1266 字,大约阅读时间需要 4 分钟。

题目:*~手套

题目描述:

在地下室里放着n种颜色的手套,手套分左右,但每种颜色的左右手手套个数不一定相同。A现在要出门,他要去地下室选手套。但是昏暗的灯光让他无法分不清手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。

现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。
给定颜色种数n(1≤n≤13),同时给定两个长度为n的数组left,right,分别代表每种颜色左右手手套的数量。数据保证左右的手套总数均不超过26,且一定存在至少一种合法方案。

import java.util.*;public class Gloves {       public int findMinimum(int n, int[] left, int[] right) {           int leftSum=0,rightSum=0;        int leftMin=Integer.MAX_VALUE,righrMin=Integer.MAX_VALUE;        int sum=0;        for(int i=0;i
left[i]){ leftMin=left[i]; } if(righrMin>right[i]){ righrMin=right[i]; } } } return Math.min(leftSum-leftMin+1,rightSum-righrMin+1)+1+sum; }}

题目:*~查找输入整数二进制中1的个数

题目描述

输入一个正整数,计算它在二进制下的1的个数。 注意多组输入输出

输入描述: 输入一个整数

输出描述: 计算整数二进制中1的个数

import java.util.Scanner; public class Main {      public static void main(String[] args){       Scanner scan=new Scanner(System.in);          while(scan.hasNext()){           int n=scan.nextInt();         int count=0;         while(n!=0){               if((n&1)==1){                   count++;            }            n>>=1;        }         System.out.println(count);    }         }   }
上一篇:线程学习5
下一篇:测试用例篇

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月17日 03时01分08秒