Skip to content

leetcode/1356: sort#381

Merged
tony84727 merged 1 commit intomainfrom
leetcode/1356
Feb 25, 2026
Merged

leetcode/1356: sort#381
tony84727 merged 1 commit intomainfrom
leetcode/1356

Conversation

@tony84727
Copy link
Copy Markdown
Owner

No description provided.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @tony84727, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a solution to LeetCode problem 1356, 'Sort Integers by The Number of 1 Bits'. It includes the implementation of the sorting logic, comprehensive unit tests, and proper module integration within the existing project structure.

Highlights

  • Implementation: Implemented a function sort_by_bits that sorts an array of integers based on the number of 1s in their binary representation, using Rust's sort_by method and count_ones.
  • Testing: Added unit tests using the test_case crate to verify the correctness of the sorting algorithm with different input arrays.
  • Module Integration: Integrated the new algorithm into the leetcode module by adding a new module algorithm_1356 and including it in the main leetcode module.
Activity
  • A new module algorithm_1356 was added to the project.
  • The sort_by_bits function was implemented to solve the LeetCode problem.
  • Unit tests were added to ensure the correctness of the implemented function.
  • The new module was integrated into the main leetcode module.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request adds a solution for LeetCode problem 1356. The implementation is correct and includes tests. I've provided one suggestion to improve performance and code clarity by using a more suitable sorting method from the standard library, which avoids redundant computations.

Comment on lines +5 to +9
arr.sort_by(|a, b| {
let ao = a.count_ones();
let bo = b.count_ones();
ao.cmp(&bo).then_with(|| a.cmp(b))
});
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The current implementation with sort_by re-calculates count_ones() for each element multiple times during the sorting process. For better performance and more idiomatic Rust, you can use sort_by_cached_key. This method computes the key for each element just once, which is more efficient when the key calculation is non-trivial.

        arr.sort_by_cached_key(|&v| (v.count_ones(), v));

@tony84727 tony84727 merged commit 57d9b10 into main Feb 25, 2026
4 checks passed
@tony84727 tony84727 deleted the leetcode/1356 branch February 25, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant