算法-并查集

2022-3-16 diaba 数据结构

package com.jiucaiyuan.net.algrithm.set; import java.util.HashMap; import java.util.List; import java.util.Stack; /** * @Author jiucaiyuan 2022/3/16 23:15 * @mail services@jiucaiyuan.net */ public class UnionFindDemo { public static class Element<V> { public V v...

阅读全文>>

评论(0) 浏览(575)

算法-kmp

2022-3-16 diaba 算法

package com.jiucaiyuan.net.algrithm.sum; /** * Knuth-Morris-Pratt * * */ class Kmp { /** * kmp算法 * @param haystack * @param needle * @return */ public static int strStr(String haystack, String needle) { int n = haystack.length(), m = ...

阅读全文>>

评论(0) 浏览(539)

JUC-Semaphore

2022-3-13 diaba 多线程

package com.jiucaiyuan.net.juc.lock; import java.util.Random; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; /** * 信号灯(许可数量) * 6辆车,3个车位 * @Author jiucaiyuan 2022/3/13 22:57 * @mail services@jiucaiyuan.net */ public class SemaphoreDemo { publ...

阅读全文>>

评论(0) 浏览(616)

JUC-CyclicBarrier

2022-3-13 diaba 多线程

package com.jiucaiyuan.net.juc.lock; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; /** * 循环栅栏 * 集齐7龙珠召唤神龙 * * @Author jiucaiyuan 2022/3/13 22:48 * @mail services@jiucaiyuan.net */ public class CyclicBarrierDemo { public sta...

阅读全文>>

评论(0) 浏览(587)

JUC-CountDownLatch

2022-3-13 diaba 多线程

package com.jiucaiyuan.net.juc.lock; import java.util.concurrent.CountDownLatch; /** * 演示CountDownLatch * 6个同学陆续离开教室之后,班长才能锁门 * * @Author jiucaiyuan 2022/3/13 22:40 * @mail services@jiucaiyuan.net */ public class CountDownLatchDemo { public static void main(String[] args) ...

阅读全文>>

评论(0) 浏览(550)

java-nio-client聊天室客户端

2022-3-13 diaba IO

package com.jiucaiyuan.net.nio; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import java.util.Scanner; /** * @Author jiucaiyuan 2022/3/13 11:04 * @mail services@jiucaiyuan.net */ public class Cl...

阅读全文>>

评论(0) 浏览(601)

java-nio-server聊天室服务端

2022-3-13 diaba IO

package com.jiucaiyuan.net.nio; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import ...

阅读全文>>

评论(0) 浏览(633)

开启三个线程打印ABC-synchronized锁和wait,notifyAll

2022-3-8 diaba 多线程

package com.jiucaiyuan.net.thread; /** * * 题目: * 编写程序,开启三个线程,这三个线程的ID分别是A,B,C,每个线程将自己的ID在屏幕上打印十次, * 要求输出结果必须按照ABC的顺序显示,如:ABCABCACB… * * 非指定线程唤醒。采用synchronized锁和wait,notifyAll配合使用。 * 这个方法有一个缺点,那就是notifyAll是唤醒其它两个线程, * 其它两个竞争获取锁会引起上下文切换,从而引起不必要的开销,因此,建议使用方法一。 * * */ class Pri...

阅读全文>>

评论(0) 浏览(593)

【推荐】开启三个线程打印ABC-ReentrantLock+Condition

2022-3-8 diaba 多线程

package com.jiucaiyuan.net.thread; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; /** * <p> * 题目: * 编写程序,开启三个线程,这三个线程的ID分别是A,B,C,每个线程将自己的ID在屏幕上打印十次, * 要求输出结果必须按照ABC的顺序显示,如:ABCABCABC... * * 指定线程唤醒轮循打印,使用ReentrantLock和Condition。 本...

阅读全文>>

评论(0) 浏览(588)

算法——字符串转化为32位有符号整数atoi()

2022-3-5 diaba 算法

package com.jiucaiyuan.net.algrithm.sum; /** * 将一个字符串转化为32位有符号整数,(类似C/C++中的atoi函数) * * @author jiucaiyuan on 2022/3/5. */ public class MyAtoi { public static int myatoi(String s) { char[] chars = s.toCharArray(); int len = chars.length; //去掉空格的情况 ...

阅读全文>>

评论(0) 浏览(524)

算法——荷兰国旗(数组分区)

2022-3-5 diaba 算法

package com.jiucaiyuan.net.algrithm.sort; /** * 问题(荷兰国旗问题):给定一个数组arr,和一个数num,请把小于等于num的数放在数组的左边, * 大于num的数放在数组的右边,要求额外空间复杂度O(1),时间复杂度O(N) * * Created by jiucaiyuan on 2022/3/5. */ public class SplitArrayHeLan { /** * less为小的区域最右侧 * more为大的区域最左侧 * i是扫描整个数组 *...

阅读全文>>

评论(0) 浏览(597)

算法——归并法排序

2022-3-5 diaba 算法

package com.jiucaiyuan.net.algrithm.sort; /**  * 归并法排序  *  思路:递归处理把数组分成左右两部分,左侧部分排成有序数组,右侧排成有序数组,然后再merge两个数组  *  * 算法时间复杂度是O(N*logN)  空间复杂度O(N)  * * * Created by jiucaiyuan on 2022/3/5. */ public class ReduceMergeSort { public static void sort(...

阅读全文>>

评论(0) 浏览(584)

算法——快速排序

2022-3-5 diaba 算法

package com.jiucaiyuan.net.algrithm.sort; /**  * <pre>  * 快速排序  *  一个数组arr,选择一个数做为基准m,小于等于m的数放在数组左边,大于m的数放在数组右边  *  左侧递归上述过程  *  右侧递归上述过程  *  *  荷兰国旗问题:  <m,=m,>m  *  * 时间复杂度 O(N*logN),空间复杂度 O(logN)  * ...

阅读全文>>

评论(0) 浏览(599)

Java位运算符

2022-3-3 diaba 基础

Java位运算符有: 左移( << ) 右移( >> ) 无符号右移( >>> ) 位与( & ) 位或( | ) 位非( ~ ) 位异或( ^ ) 除了位非( ~ )是一元操作符外,其它的都是二元操作符 交换两个不等的数方法: //交换两个不相等的数,可以使用「位异或」 a=5; b=6; 通过如下代码: a=a^b; b=a^b; a=a^b; 变为: a==6; b==5; 【注意】如果两个数相等,经过如下代码会得到0 由位运算操作符衍生而来的有: ...

阅读全文>>

评论(0) 浏览(562)

算法——统计岛数量

2022-3-3 diaba 算法

package com.jiucaiyuan.net.question; /** * 统计岛数量 * 【问题】一个矩阵中只有0和1两个数值,每个位置都可以和自己的上、下、左、右四个位置相连, * 如果有一片1连在一起,这个部分叫做一个岛,求一个矩阵中有多少个岛? * 【进阶】 * 如何设计一个并行算法解决这个问题(一张地图,点特别多,需要统计时,并行解决会更快些) * <p> * P12 11.基础提升 有序表、并查集等 00:03 * * @Author jiucaiyuan 2022/3/2 23:58 * @mail s...

阅读全文>>

评论(0) 浏览(579)

算法——拿纸牌,最大积分是多少

2022-3-2 diaba 算法

package com.jiucaiyuan.net.question; /** * 拿纸牌,得到最大分数 * 给定一个整形数组arr,代表数值不同的纸牌排成一条线。玩家A和玩家B依次拿走每张纸牌, * 规定玩家A先拿,玩家B后拿,但是每个玩家每次只能拿走最左或者最右侧的纸牌,玩家A和 * 玩家B都是绝顶聪明。请返回最后胜利者的分数 * <p> * Created by jiucaiyuan on 2022/3/2. */ public class CardsSelect { /** * 给一个纸牌,拿牌规则,从最左侧或者从...

阅读全文>>

评论(0) 浏览(602)

算法——是否为平衡二叉树

2022-3-2 diaba 算法

package com.jiucaiyuan.algrithm.tree; /** * 判断树是否为平衡二叉树 * <p> * Created by jiucaiyuan on 2022/2/4. */ public class BalancedTreeSolution { //传递参数 // 1. 传入根节点 // 2. 返回是否为平衡二叉树 public static boolean isBalanced(TreeNode root) { // 退出条件 // 1. 节点为空,则...

阅读全文>>

评论(0) 浏览(634)

算法——汉诺塔

2022-3-2 diaba 算法

package com.jiucaiyuan.question; /** * 汉诺塔 * <p> * Created by jiucaiyuan on 2022/2/4. */ public class HannuoTower { public static void main(String[] args) { hannuoTower(16); } public static void hannuoTower(int n) { if (n > 0) { move...

阅读全文>>

标签: 算法 汉诺塔 递归

评论(0) 浏览(604)

常用工具

2022-3-2 diaba 调优命令

demesg可以用来查看开机之后的系统日志,其中可以捕捉到一些系统资源与进程的变化信息。 dmesg dmesg | grep -E 'kill|oom|out of memory' --col top top -Hp pid jps -l 类似linux的 ps -ef 查看进程状态 jstack 进程号 //查看堆栈信息 jstat -gccause 18356 1000 1000 jstat -class 18356 jstat -compiler 18356 jstat -gc 18356 ...

阅读全文>>

评论(0) 浏览(518)

我已经配置了保险,也推荐给大家

2021-3-24 diaba 随笔记录

     最近投入了好多时间对保险进行了深入研究,加深了对保险的理解,此次研究主要针对保险条款、保险责任相关进行分析,更深入的了解了不同险种的侧重点,我们生活中应该配置哪些产品来武装自己和自己的家庭,以备发生意外时,稳定家庭,最近看到社会上发生的一些意外,很痛心,生活不易,还要受到病痛的折磨......     有些人发生了意外,最大的困难是没有钱治病,现在的医学如此发达,有些根本不是什么疑难杂症,明明是可以治愈的,但是由于没有相应的费用,没有得到及时治疗,真是痛心     深入的了解保险后,找了好多...

阅读全文>>

标签: 理财 保险 抗风险 优秀经纪人

评论(0) 浏览(1515)

Powered by emlog 京ICP备15045175号-1 Copyright © 2022