算法
雨夜青草
这个作者很懒,什么都没留下…
展开
-
java实现三数之和
题目摘自给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]如下是解法public static List<List<Integer>> threeSum(int[] nums) { ...原创 2021-07-30 14:01:38 · 3341 阅读 · 0 评论 -
最大子序和
力扣的题目给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。大概写了如下三种解法://获取最长子串和 nums = [-2,1,-3,4,-1,2,1,-5,4] /**** 两层for循环暴力破解***/public static int maxSubArray(int[] nu...原创 2021-07-30 13:50:07 · 128 阅读 · 0 评论 -
快速排序算法
* 快速排序算法 {6,9,3,4,2,1,7,5}1、 找一个作为比较的基准值任取 , 我们这边取第一个2、循环遍历,占坑,进行分区 将第一个值放中间 左边放小于他的数,右边放大于他的数 区分开3、继续分别对左右两边的数组重复上述操作,直到遍历完成排序结束/**** 快速排序算法 {6,9,3,4,2,1,7,5}** 找一个作为比较的基准值任取 , 我们这边取第一个* 进行分区 将第一个值放中间 左边放小于他的数,右边放大于他的数 区分开来* 继续分别对左右两边的数组重复上述操原创 2021-07-30 13:45:13 · 181 阅读 · 0 评论 -
雪花算法的原理和实现Java
SnowFlake 算法,是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式系统中的应用十分广泛,且ID 引入了时间戳,基本上保持自增的。这 64 个 bit 中,其中 1 个 bit 是不用的,然后用其中的 41 bit 作为毫秒数,用 10 bit 作为工作机器 id,12 bit 作为序列号。...原创 2019-05-05 15:05:24 · 231060 阅读 · 59 评论 -
多对多自动拆分总数相等
看到这个题目大家可能会一头雾水,本人表达能力有限,无法用简单语言描述该算法,标题凑合一下呗。工作后才发现,处理很多生活中业务问题就是在,就像再处理数学题。用一个案例和大家描述一下吧。总得来说就是总数想等的情况下,如何如何将多对多的对应关系拆分成一对一的关系,java实现。假设有三张付款单(单号,金额) 总数300 : (FK01,100) (FK02, 100)(FK03, 1...原创 2020-03-26 15:09:40 · 1158 阅读 · 0 评论