
算法
永远sayYES
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
有n个数,使用加减乘除和括号,使得最终的结果等于m,请列出所有的可能性
问题有n个数,使用加减乘除和括号,使得最终的结果等于m,请列出所有的可能性Java算法import java.util.*;/** * there are some number, use + - * / and ( ), to get all the solution which can get the result target number */public class Test015 { public static void main(String[] args) {原创 2021-11-30 14:51:31 · 726 阅读 · 0 评论 -
Java简单版布隆过滤器
Java简单版布隆过滤器package com.cjs.sso;import java.io.Serializable;import java.util.*;/** * @author xxx */public class BF implements Serializable { private static final long serialVersionUID = -881375780720891535L; private static final int[] SE原创 2021-07-06 17:47:54 · 129 阅读 · 0 评论 -
解数独 - Java版
问题:编写一个程序,解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 ‘.’ 表示,比如一个数独的题目为:[[“5”,“3”,".",".",“7”,".",".",".","."],[“6”,".",".",“1”,“9”,“5”,".",".","."],[".",“9”,“8”,".",".",".",".",“6”,"."],[“8”,"原创 2020-09-15 11:45:35 · 291 阅读 · 1 评论 -
String.format的速度真够慢的
1. 自己拼接2. String.format拼接3. 总结两者竟然相差了一个数量级,我也真是服了String.format的效率,太LowX了。原创 2020-08-17 13:51:22 · 1181 阅读 · 0 评论 -
二叉搜索树的序列化和反序列化
二叉搜索树的序列化与反序列化,深度优先(递归实现)/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */// Encodes a tree to a single string. public String原创 2020-08-05 10:37:15 · 155 阅读 · 0 评论 -
排序算法实操 - 冒泡排序和快速排序的模板
本文比较冒泡排序、快速排序一、冒泡排序算法//对数组nums的索引i + 1 ~ nums.length - 1 数组元素进行排序 for(int m = i + 1; m < nums.length; m++){ for(int n = nums.length - 1; n > m; n--){ if(nums[n] < nums[n - 1]){ tmp = nums[n - 1];原创 2020-07-31 11:30:39 · 169 阅读 · 0 评论 -
二分套二分 - POJ3685
序言要从力扣某次周赛说起,对于我向来只能做出前两题的菜鸟来说,最后一题的难度是可想而知,完全不知道思路,后来通过解读大神的解题思路,竟然还有三分套三分之说法,通过费劲九牛二虎之力,才得以把三分套三分理解的差不多。如果想要理解三分套三分,不如先理解二分套二分,因为原理类似。首先大家一定要有个认知,二分套二分,一定是有两个二分的,我们假设分为外层二分A,和内层二分B。那么A和B有什么关系呢?我一开始研究二分套二分的时候一直纠结A和B是什么关系,所以一直陷入难以自拔,导致浪费了很多时间。其实A和B,你可以认为原创 2020-07-15 14:10:13 · 577 阅读 · 0 评论 -
二分法的三种写法
二分法的三种写法一、有序不重复的数组比如在数组{1,3,6,9,13}中,查找9这个元素出现的索引位置,如果不存在返回-1public int find1(int[] nums, int k) { int left = 0, right = nums.length - 1; while(left <= right){ int mid = left + (right - left) / 2; if(nums[mid]原创 2020-07-15 12:52:02 · 1092 阅读 · 0 评论 -
树的序列化和反序列化之三
树的序列化和反序列化之三一颗普通树进行序列化和反序列化的算法,第三次写这个算法了,感觉更精简了测试用例: Client ct = new Client(); TreeNode tn = ct.unserialize("1;2,3,4;null:5,6:null;null:7,8"); System.out.println(ct.serialize...原创 2020-04-17 11:44:10 · 134 阅读 · 0 评论 -
树的序列化和反序列化之二
树的序列化和反序列化之二一颗普通树进行序列化和反序列化的算法测试用例: Client ct = new Client(); String para = "1;2,3,4;null:5,6:null;null:7,8;null:null;"; Tree tree = ct.unSerializeTree(para); System....原创 2020-03-10 14:22:05 · 179 阅读 · 0 评论 -
树的序列化和反序列化
树的序列化和反序列化一颗普通树进行序列化和反序列化的算法class Node { public int val; public List<Node> child; public Node(int val){ this.val = val; } public Node(int val, List<Node> chil...原创 2020-01-13 16:45:50 · 431 阅读 · 0 评论