算法
frida416
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
力扣leetcode-146直线上最多的点数
149. 直线上最多的点数 给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 代码: class Solution { public int maxPoints(int[][] points) { ArrayList<Integer> num1 = new ArrayList<>(); ArrayList<Integer> num;原创 2021-06-25 00:42:25 · 383 阅读 · 0 评论 -
位一的个数java
题目要求 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 输入输出 输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。 题目思路 采用二进制计算方式: 对n和n-1进行按位与计算 当n与n-1进行按位与计算时 相当于将n的最右边的1换为0 则记录一次数值 直至n为零则再无1 代码原创 2021-03-22 23:37:00 · 154 阅读 · 0 评论 -
单次交换找字典序最小字符串
题目要求: 给一个字符串s,你可以至多选择两个不同位置的字符进行交换(可以不交换),问所有可能中字典序最小的串。 输入:aaazbcdeadcd 输出:aaaabcdezdcd 题目解析: 字典序最小 即与当前字符串相比最小的字符串 那么只需要找到字符串中前面一个字符与后面一个字符之间差距最大且前大于后的一组字符交即可 从后向前遍历 与当前元素之前的所有元素比较并记录 交换 java代码: public class Main { public static void main(String[] arg原创 2021-03-20 22:17:25 · 2460 阅读 · 1 评论
分享