算法
AllBull
致力于精通C++,向着元宇宙进军
致力于六边形战士
展开
-
数据结构-循环队列
package org.butupi.queue;import java.util.Scanner;//循环队列实现class CircleArrayQueue { private int[] arr; private int rear;// end private int front;// begin private int size; private final int limit; //队列最大容量 public CircleArrayQueue(int limit) {.原创 2022-04-21 15:55:48 · 681 阅读 · 0 评论 -
算法-排序java
package com.butupi.sort;import static com.butupi.sort.Logarithm.*;import java.util.Arrays;public class TenSort { public static void main(String[] args) { int maxSize = 800_000; int maxValue = 800_000; int[] arr = generateRandomArray(maxSize,.原创 2022-04-27 21:59:31 · 90 阅读 · 0 评论 -
算法-二叉树的遍历
树节点定义package com.butupi.tree;import org.junit.jupiter.api.Test;public class TreeNode<T> { public T data; public TreeNode<?> left; public TreeNode<?> right; TreeNode() { } TreeNode(T data) { this.data = data; } /** * 数原创 2022-05-02 20:22:35 · 486 阅读 · 0 评论 -
算法-从暴力递归到动态规划
package com.butupi.violence2dp;/** * 一个正整数数组,代表一组货币面值,货币可以随意拿去多张,问有多少中方式 ,使 总值 达到 aim目标值? * * @description: 所有的面值,每一个面值都可以任意选择张数,组成正好rest这么多钱,方法数多少? * @author:1252319301 * @version: * @date: 2022年5月8日 */public class CoinsWay { // ------------.原创 2022-05-08 17:46:45 · 72 阅读 · 0 评论 -
【异或】打印出数组中出现奇数次的数
int rightOne = eor & (~eor + 1); //提取出最右的1package com.butupi.bit;/** * 使用异或求 奇数次的数 * @description: * @author:1252319301 * @version: * @date: 2022年5月13日 */public class EvenTimesOddTimes { //数组中一个数出现了奇数次 // 求一个 public static void ..原创 2022-05-13 15:48:33 · 137 阅读 · 0 评论 -
【排序】十大排序 python
package com.butupi.sort;import static com.butupi.sort.Logarithm.*;import java.util.Arrays;public class TenSort { public static void main(String[] args) { int maxSize = 800_000; int maxValue = 800_000; int[] arr = generateRandomArray(maxSize,.原创 2022-05-13 21:20:05 · 87 阅读 · 0 评论 -
从 荷兰国旗 到 快排
question1:给定一个数组arr和一个数num,让大于这数的数字放在数组的右边,小于等于这个数字放在数组的左边。 要求:时间复杂度O(n),额外空间复杂度O(1)。原创 2022-05-14 20:36:05 · 74 阅读 · 0 评论 -
【tools】数组对数器
package com.butupi.sort;import java.util.Arrays;//对数器public class Logarithm { /** * @description: 生成随机数组 * @param maxSize 数组最大长度(随机) * @param maxValue 数组中的最大值 最小值为1-N * @return 随机数组 */ public static int[] generateRandomArray(int maxSi.原创 2022-05-14 22:36:42 · 88 阅读 · 0 评论 -
【tricks】位运算判断一个数是奇数还是偶数
if( (num & 1) == 1 ){ print("奇数");}----------------------------(num & 1) == 0 -> 偶数package com.leetcode.tricks;public class OddOrEven { /** * @description: 是否是奇数 * @param num * @return true 是奇数 */ public sta...原创 2022-05-15 17:39:41 · 90 阅读 · 0 评论 -
【tricks】取出数中的最右侧的1
数本身,1. 取反 ~2. 加1 +3. 与本身 &num & (~num +1)package com.leetcode.tricks;/** * 取出数中的最右侧的1,截断的后续数 * * @description: * @author:1252319301 * @version: * @date: 2022年5月15日 */public class MostRightOne { /** * @description: 取...原创 2022-05-15 17:53:06 · 277 阅读 · 0 评论 -
【tricks】找到列表的中点【快慢指针】
* 总结: * ------------------------------------------------------------ * 开始slow 和 fast的位置: 0 1 2 3 4 | 节点数 1 2 3 4 5 * 中点(《): S F |...原创 2022-05-16 19:05:04 · 108 阅读 · 0 评论