![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
qq_38844040
这个作者很懒,什么都没留下…
展开
-
快速排序(java实现)
快速排序在算法界也是鼎鼎大名的 在20世纪 也算是及具有贡献的算法之一 快速排序和归并排序有相似之处 都利用了分治思想 但是了解的同学肯定知道快速排序的核心是partition过程 以及如何确定基准值 归并排序把一个数组平均分为N份 做归并过程下面来看看快速排序的核心代码:public void sort( int[] arr,int left,int right )...原创 2018-04-30 18:48:06 · 159 阅读 · 0 评论 -
排序算法之归并排序(java实现)
归并算法是分治算法的一个典型 可以这么说 它的核心就是分而治之 而归并算法就是一个分解 一个合并的过程 直接上代码“` public class demo{ public static void fenJie(int[] arr,int left,int right ) //递归界限 if(left>=right) return;...原创 2018-04-20 19:19:12 · 133 阅读 · 0 评论 -
世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?
/** * 世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? * 输入例子: * 1999 2299 * * 输出例子: * 7 */ public class XiaoMi {public static void test(int m, int n) { // 异或 int...原创 2018-06-14 17:44:06 · 551 阅读 · 0 评论 -
1亿求和(java多线程分段实现)
1亿的数据累加求和计算 如果单纯的递归调用那么肯定会出现内存溢出异常 我们可以把数据分段 求每一段的和 最后汇总就行了 这样问题就简单了许多 下面是具体的代码实现:package com.lq.learn.learn.demo;import java.util.ArrayList;import java.util.List;import java.util.concurren...原创 2018-06-01 20:19:43 · 2871 阅读 · 0 评论 -
leetcode 219: Contains Duplicate II(java)
给出一个整型数组nums和一个整数k,是否存在索引 i,j使得nums[i]==nums[j],并且i和j的差不超过k这个问题我们完全可以使用暴力解法 2次循环 时间复杂度为O(n2) 在完全没有思路解决时,我们可以使用这种方法先解决问题 然后在看看是否有简单的方法。 在这个问题中 显示 我们可以使用时间复杂度为O(n)来解决,原理就是 利用了滑动窗口+查找表 下面是代码实现:...原创 2018-06-16 17:08:54 · 207 阅读 · 0 评论 -
CopyOnWriteArrayList解析
CopyOnWrite :容器即写时复制的容器。通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOnWrite容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以CopyOnWrite容器也是一种读写分离的思想,读...原创 2018-10-28 20:25:42 · 228 阅读 · 0 评论