算法
bowlingQ
这个作者很懒,什么都没留下…
展开
-
BST二叉排序树
package tree; public class BinarySortTree { public static void main(String[] args) { int [] arr = {2,6,3,1,7,11 }; BinaryTree tree = new BinaryTree(); for (int i = 0; i < arr.length; i++) { tree.add(new Node(arr[i])); } tree.infixOrder();原创 2021-11-09 17:48:11 · 115 阅读 · 0 评论 -
动态规划入门
描述 给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 -1. 你可以假设每种硬币均有无数个 总金额不会超过10000 硬币的种类数不会超过500, 每种硬币的面额不会超过100 样例 样例1 输入: [1, 2, 5] 11 输出: 3 解释: 11 = 5 + 5 + 1 样例2 输入: [2] 3 输出: -1 public class Solution { public i原创 2021-04-15 15:56:18 · 57 阅读 · 0 评论 -
随机快排
import java.lang.reflect.Array; import java.util.Arrays; public class netherlandsFlag { public static void quickSort(int [] arr ,int L ,int R) { if (L<R) { int[] p = partition(arr,L,R); quickSort(arr,L,p[0] - 1 ); quickSort(arr,p[1] + 1,R);原创 2021-04-05 17:18:52 · 71 阅读 · 2 评论 -
荷兰国旗问题
题目描述 给定一个数组arr和一个数num,请把小于num是数放在数组的左边,等于num的数放在数组的中间,大于num是数放在数组的右边,要求额外空间为o(1),时间为o(n) 例如: arr={4,5,6,7,5,1,2,3} num=5 输出 0, 3, 2, 1, 5, 5, 7, 6 代码 import java.lang.reflect.Array; import java.util.Arrays; public class netherlandsFlag { public static in原创 2021-04-05 15:54:12 · 58 阅读 · 2 评论