自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 收藏
  • 关注

原创 创建型模式--单例模式

单例模式

2022-10-13 03:31:33 213 1

原创 设计模式和设计原则

设计模式笔记

2022-10-13 00:53:30 161

原创 leetcode31-40

31. 下一个排列class Solution { public void nextPermutation(int[] nums) { int len = nums.length, i = len - 1;; while(i > 0 && nums[i-1] >= nums[i]) --i; if(i <= 0) { reverse(nums, 0, len - 1); }

2022-03-03 02:09:25 144

原创 LeetCode 24-30

24. 两两交换链表中的节点class Solution { public ListNode swapPairs(ListNode head) { ListNode dummy = new ListNode(-1); ListNode cur = dummy, pre = head, tail = null; cur.next = head; while(pre!= null && pre.next!= null)

2022-02-25 23:58:28 115

原创 23. 合并K个排序链表

public class Solution { //优先队列:时间复杂度:O(kn*logk) 空间:O(k) public ListNode mergeKLists(ListNode[] lists) { PriorityQueue<ListNode> minHeap = new PriorityQueue<>((n1, n2)->n1.val - n2.val); //小根堆 for(ListNode list : li.

2022-02-25 01:06:47 239

原创 LeetCode 20. 有效的括号

class Solution { public boolean isValid(String s) { int len = s.length(); if(len % 2== 1) return false;//单数不配对 Stack<Character> stack = new Stack<>(); for(char c : s.toCharArray()){ if(c == '(') .

2022-02-25 00:43:03 64

原创 22. 括号生成

class Solution { List<String> ans = new ArrayList<>(); //Time:O(C(n, 2n)) 卡特兰数 public List<String> generateParenthesis(int n) { if(n <= 0) return ans; dfs(n, 0, 0,""); return ans; } //l表示"(.

2022-02-25 00:42:49 67

原创 21. 合并两个有序链表

class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { //辅助节点 ListNode dummy = new ListNode(-1); for(ListNode cur = dummy; l1!= null || l2!=null;) { if(l1 == null){ cur.next = l2;.

2022-02-25 00:42:08 286

原创 19. 删除链表的倒数第 N 个结点

class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { //辅助节点 ListNode dummy = new ListNode(-1); dummy.next = head; //链表长度 int len = 0; ListNode cur = head; while(cur != null){.

2022-02-24 18:17:02 78

原创 17. 电话号码的字母组合

class Solution { static String str[] = { "", "","abc","def", "ghi","jkl", "mno","pqrs","tuv","wxyz" }; /* 执行用时: 5 ms , 在所有 Java 提交中击败了 19.26% 的用户 内存消耗: 41.4 MB , 在所有 Java 提交中击败了 5.02% 的用户 */.

2022-02-24 18:07:06 291

原创 18. 四数之和

class Solution { public List<List<Integer>> fourSum(int[] nums, int target) { //双指针 List<List<Integer>> res = new ArrayList<>(); if(nums == null || nums.length < 3) return res; //排序 .

2022-02-24 17:41:23 66

原创 16. 最接近的三数之和

class Solution { public int threeSumClosest(int[] nums, int target) { int res = Integer.MAX_VALUE, min= Integer.MAX_VALUE; //排序 Arrays.sort(nums); for(int i = 0; i < nums.length; i++){ if(i > 0 &&a.

2022-02-24 17:34:57 242

原创 15. 三数之和

class Solution { //双指针 public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> res = new ArrayList<>(); if(nums == null || nums.length < 3) return res; //排序 Arrays.sort.

2022-02-24 17:24:43 156

原创 14. 最长公共前缀

class Solution { public String longestCommonPrefix(String[] strs) { if(strs == null || strs.length == 0) return ""; Arrays.sort(strs); //取头尾 int len = Math.min(strs[0].length(), strs[strs.length-1].length()); in.

2022-02-24 16:47:42 156

原创 13. 罗马数字转整数

class Solution { static Map<Character, Integer> map = new HashMap<>(); static { map.put('I', 1); map.put('V', 5); map.put('X', 10); map.put('L', 50); map.put('C', 100); map.put('D', 500);.

2022-02-24 16:26:49 139

原创 12. 整数转罗马数字

class Solution { static String[] reps = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" }; static int[] values = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, .

2022-02-24 16:18:22 147

原创 10. 正则表达式匹配

public class Solution { public boolean isMatch(String s, String p) { if(s.length() == 0 && p.length() == 0) return true; if(p.length() == 0) return false; boolean dp[][] = new boolean[s.length() + 1][p.length() + 1]; .

2022-02-24 16:08:31 140

原创 11. 盛最多水的容器

class Solution { //双指针 贪心 //假设l < r, l 和 r之间是容纳的水是最优解。 //当i到达左边边界l时候,只需要j在r右边位置向左移,height[l] >= height[j],j不停的移动到r就是找到最优解, //所以height[j]<= height[l]严格小于左边界的。 /*反正法:条件是l到r之间最优解max,r<= j <len, height[j]严格小于height[l]边界。 .

2022-02-24 16:07:21 683

原创 5. 最长回文子串

//动态规划 //假设字符串下标为i到j之间判断是否是回文串,dp[i][j](其中i &lt;= j), //如果s.charAt(i)==s.chatAt(j)那么需要判断从下标i+1到下标j-1是否为回文串,即dp[i+1][j-1](其中i+1&lt;=j-1)是否是回文串 //dp[i][j] = 1 (i==j) // =s.c...

2022-02-23 13:10:35 184

原创 Spring Framework源码下载编译

环境:win10jdk11(更低版本jdk没有jdk.jfr.events类包)spring framework5.3.0-SNAPSHOT(2020/8/4下载最新就这个版本)IDEA2020.1.2(由于IDEA2018和gradle高级版本不兼容,所以选重新安装了个2020版的)一、github太卡了,在gitee上下载(预先装好git)git clone https://gitee.com/mirrors/Spring-Framework.git下载完是5.3.0-SNA

2020-08-05 21:46:08 470

原创 9.Palindrome Number

public boolean isPalindrome(int x) { if(x &lt; 0) return false; int temp = x; int val = 0; while(x != 0) { val = val * 10 + x % 10; x /= 10; } return (val == temp)? true : false; ...

2018-08-15 01:27:04 277

原创 8.String to Integer (atoi)

private static final int maxDiv10 = Integer.MAX_VALUE / 10; public int myAtoi(String str) { int len = str.length(); int sign = 1;//符号位 int num = 0; int i = 0;...

2018-08-15 01:26:36 282

原创 7. 整数反转

//不使用long类型的话。可以通过Integer.MAX_VALUE/10和Integer.MIN_VALUE/10同x进行比较进行比较判断 //Integer.MAX_VALUE%10和(x % 10)对比判断,如果为负数反之同理。 public int reverse(int x) { long res = 0; while(0 !=...

2018-08-15 01:25:49 178

原创 6.ZigZag Conversion

//看不懂题,在网上查找才知道,打印之字形,垂直打印完之后,从倒数第二个倒过来打印到第二个。 // * * * // * * * * * // * * * * * // * * * * // * * ...

2018-08-15 01:25:19 285

原创 4.寻找两个正序数组的中位数

public double findMedianSortedArrays(int[] nums1, int[] nums2) { int m = nums1.length, n = nums2.length; //l 和 r 解决(m + n)奇偶性问题 int l = (m + n + 1) / 2; int r = (m...

2018-08-15 01:23:50 212

原创 3.无重复字符的最长子串

import java.util.Map; import java.util.HashMap; //维持最大字符不重复的滑动窗口 public int lengthOfLongestSubstring(String s) { if(null==s || s.length() == 0) return 0; Map&lt;Charac...

2018-08-15 01:23:12 156

原创 2.两数相加

public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode dummyNode = new ListNode(-1); ListNode p = l1, q = l2, curr = dummyNode; int carry = 0; while(p!=null || q!=null) { int ...

2018-08-15 01:22:40 237

原创 1.两数之和

import java.util.HashMap; import java.util.Map; public int[] twoSum(int[] nums, int target) { Map&lt;Integer,Integer&gt; map = new HashMap&lt;Integer,Integer&gt;(); for(int i =0; i&lt...

2018-08-15 01:21:54 157

原创 发起SSH攻击主机IP地址列表

以下IP地址对SSH服务进行攻击,在/etc/hosts.deny文件拒绝改ip访问。 ​​链接:https://pan.baidu.com/s/1lQ8jWvZZ7KRgpBPSpGY_6Q 密码:pj3x    2.centos系统中/var/log/secure(Ubuntu日志貌似记录在/var/log/auto文件中)文件记录登录日志,可以吧Failure攻击SSH服务的ip...

2018-08-10 18:00:39 1026

转载 【Linux日志】系统日志及分析

来源于:https://www.cnblogs.com/yingsong/p/6022181.html Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd 或/etc/rsyslog.d,默认配置文件为 /etc/s...

2018-08-10 13:16:53 341

转载 配置 IDEA 启动的 JDK

来源于:https://blog.csdn.net/isea533/article/details/78621930IDEA 64 位 版本对 JDK 版本有要求,不符合的 JDK 将无法启动。很简单的一个问题,如何使用指定的 JDK 启动 IDEA?上面这个问题很简单 但是在特殊环境下可能不太容易。一、方法一,配置 JDK最简单的方法就是配置系统的环境变量(JAVA_HOME,path),配置为...

2018-07-03 13:30:23 3045

转载 一致性哈希算法原理

转载地址:http://www.cnblogs.com/lpfuture/p/5796398.html一致性Hash算法背景  一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P

2017-08-17 15:54:36 374

转载 Centos 6.5卸载mysql

一、rpm包或yum安装mysql卸载1: 卸载前关闭MySQL服务   service mysqld stop   #或者   /etc/init.d/mysql stop2. 收集MySQL对应的文件夹信息[root@slave3 init.d]# whereis mysqlmysql: /usr/lib64/mysql /usr/share/mysql[roo

2017-07-04 22:24:27 650

原创 HBase安装

一、单机版1.解压下载相对于的hadoop版本的hbase,解压2.配置环境变量export HBASE_HOME....,加入path3.修改hbase-env.shexport JAVA_HOME=/hadoop/jdk1.7.0_79export HBASE_MANAGES_ZK=true#如果使用HBase自带的Zookeeper值设成true 如果使用自己安装的Zoo

2017-04-15 13:58:19 321

原创 mysql主主复制配置

1、原理:两个主服务建立二进制日志和relay-log,主服务器建立复制账号供另一个主服务器来连接监听用,另一个主服务器也建立复制账号提供主服务器连接监听2.建立mysql在两个主节点master(192.168.1.110)和slave1(192.168.1.111)复制1)配置master(192.168.1.110)和slave1(192.168.1.111)的my.cnf的

2017-04-10 16:57:41 308

原创 mysql二进制日志格式

mysql二进制日志文件格式主要有三种格式:statement,row,mixed 3种,其中mixed是前两种的混合方式1)直接在磁盘上新增或者更新一行的变化使用row比较合适,二进制日志复制起来比较方便   例如:insert into tablexx values(x,x,x,x)update tablexx set name="xx" where id=xxx;2)一条

2017-04-10 14:05:34 468

原创 Mysql主从配置

一、原理:1.主服务器建立二进制日志,每产生语句或磁盘变化,写进日志2.从服务器监听主服务器二进制日志,读取二进制日志建立relaylog3.要从主服务器读取二进制日志,那么需要主服务器授权复制账号。从而从服务器利用复制账号来监听主服务器日志一句话:主服务建立二进制日志,从服务器建立relay-log,主服务器建立复制账号供从服务器来连接监听用。二、建立主从集群

2017-04-08 16:38:54 275

原创 mysql安装

一、yum安装mysql1)[root@master ~]# rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库#有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉[root@master ~]# rpm -e mysql  // 普通删除模式[root@master ~]# rpm

2017-04-08 14:27:54 326

转载 Win7下ulipad开发环境安装

此次安装的是python2.7,在windows 7和windows xp下均进行了安装,两者不同的地方将在文中特别提出。Step 1 安装pythonpython下载地址:http://www.python.org/ftp/python/由于本人安装的是python2.7,所以下载的是python-2.7.msi,接下来安装python-2.7.msi,路径可自选。Step 2 安装

2016-11-28 13:25:41 2500

原创 win7上eclipse 远程调用 hadoop(2.6.0)

1.java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binariesHADOOP_HOME的问题。如果HADOOP_HOME为空,必然fullExeName为null\bin\winutils.exe。解决方法很简单,配置环境变量。把相应下载的hadoop-common

2016-11-21 22:12:38 402

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除