From adafd3993154d5371edebd2406c880afd88d3b3b Mon Sep 17 00:00:00 2001 From: hailincai Date: Sun, 5 Sep 2021 09:44:53 -0400 Subject: [PATCH] =?UTF-8?q?Update=201356.=E6=A0=B9=E6=8D=AE=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E4=BA=8C=E8=BF=9B=E5=88=B6=E4=B8=8B1=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E7=9B=AE=E6=8E=92=E5=BA=8F.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加Java实现 --- ... ¹æ®æ•°å­—二进制下1的数目排åº.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/problems/1356.æ ¹æ®æ•°å­—二进制下1的数目排åº.md b/problems/1356.æ ¹æ®æ•°å­—二进制下1的数目排åº.md index 660434a2..40a49b9c 100644 --- a/problems/1356.æ ¹æ®æ•°å­—二进制下1的数目排åº.md +++ b/problems/1356.æ ¹æ®æ•°å­—二进制下1的数目排åº.md @@ -123,6 +123,32 @@ public: ## Java ```java +class Solution { + private int cntInt(int val){ + int count = 0; + while(val > 0) { + val = val & (val - 1); + count ++; + } + + return count; + } + + public int[] sortByBits(int[] arr) { + return Arrays.stream(arr).boxed() + .sorted(new Comparator(){ + @Override + public int compare(Integer o1, Integer o2) { + // TODO Auto-generated method stub + int cnt1 = cntInt(o1); + int cnt2 = cntInt(o2); + return (cnt1 == cnt2) ? Integer.compare(o1, o2) : Integer.compare(cnt1, cnt2); + } + }) + .mapToInt(Integer::intValue) + .toArray(); + } +} ```