[LeetCode]#1356. Sort Integers by The Number of 1 Bits

Input: arr = [0,1,2,3,4,5,6,7,8]
Output: [0,1,2,4,8,3,5,6,7]
Explantion: [0] is the only integer with 0 bits.
[1,2,4,8] all have 1 bit.
[3,5,6] have 2 bits.
[7] has 3 bits.
The sorted array by bits is [0,1,2,4,8,3,5,6,7]
Input: arr = [1024,512,256,128,64,32,16,8,4,2,1]
Output: [1,2,4,8,16,32,64,128,256,512,1024]
Explantion: All integers have 1 bit in the binary representation, you should just sort them in ascending order.
Input: arr = [10000,10000]
Output: [10000,10000]
Input: arr = [2,3,5,7,11,13,17,19]
Output: [2,3,5,17,7,11,13,19]
Input: arr = [10,100,1000,10000]
Output: [10,100,10000,1000]
  1. Convert arr to bit format.
  2. count(‘1') in each arr
  3. sort it by step 2 red mark value
  4. return blue mark value
class Solution:
def sortByBits(self, arr):
d=[]
for i in sorted(arr):
d.append((i,bin(i).count('1')))
sd = sorted(d, key=lambda i: i[1])ans=[]
for i in sd:
ans.append(i[0])
return ans
  1. https://leetcode.com/problems/sort-integers-by-the-number-of-1-bits/discuss/991454/Python%3A-99-Faster-Using-Tuples
  2. https://blog.csdn.net/u010758410/article/details/79737498

--

--

--

Interesting in any computer science.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

PHP null-safe and null-coalescing operators

Creating Health Powerup

How We Built Our Own CI/CD Framework From Scratch (Pt. II)

Optimize Spark SQL Joins

You are doing TDD Wrong

The Pros and Cons of No Code Development

Kanban Boards, To-Do Lists and More: Which Style is Best for Your Small Business Project Management

Best project management software

Creating Libraries in Linux

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Fatboy Slim

Fatboy Slim

Interesting in any computer science.

More from Medium

LeetCode Patterns Adventure 17 — Binary Search

Hackerrank — Merge Sorted Linked list walkthrough #Python #Hackerrank

Implementing Linked List Operations in Python

[LeetCode]#2114. Maximum Number of Words Found in Sentences