- 博客(28)
- 资源 (4)
- 收藏
- 关注
原创 java日志注解:无中生有,到底算不算优化
最近在项目版本迭代中又一个这样的需求:在已有的代码基础上添加接口调用日志,记录的日志内容主要针对的是修改记录的接口:1、表数据的修改人,2、修改的时间,3、修改的记录的主键id,4、接口的入参和出参。通过注解我们很容易就能拿到接口的入参,出参,接口调用时间,接口的修改人,但是唯独一个修改的记录对应的主键id这个东西不好处理,虽然接口入参中会有对应的id参数,但是却不好提取。。。考虑了一番后,在保证不做大量的改动前提上,想出了一个解决方法-------》在接口的入参上加上日志信息类参数。无中
2020-06-24 00:30:33
233
原创 xml文档转java map对象
本文分为两种方式:方式一:修改读入的xml文档结构方式二:中规中矩,在字符流读取的时候进行判断取值。方式一:读取xml中的键值对存放在map<String,Object>中首先读取xml文档,将xml文档转成便于解析的结构,使用"}"替代</*>,作为结束符,即<key>value</key>转换为{key=value}...
2020-01-13 09:36:25
375
原创 Java 自定义对象List 转Json
用于自定义对象的List 用于基本数据类型包装类的List 用于嵌套List 通过反射获取自定义对象的属性和值//由于考虑嵌套list的问题,把StringBuilder初始化操作提取到方法外public static StringBuilder str = new StringBuilder();public static String listToJson(List list) ...
2020-01-02 14:47:39
1064
原创 盛最多水的容器(leetcode)
从两侧开始计算面积向中间收缩,收缩条件是左右两条边较短的一边向中间靠拢。class Solution { public int maxArea(int[] height) { int left = 0; int right = height.length-1; int area = 0; while...
2019-09-03 09:09:50
106
原创 有效的括号(leetcode)
这个是一个很明显的栈结构问题,只要是左括号执行入栈,右括号的话检测栈顶字符是否与之匹配,匹配执行出栈操作。class Solution { public boolean isValid(String s) { if(s.equals(""))return true; if(s==null)return false; ...
2019-08-29 09:45:25
169
原创 最长公共前缀(leetcode)
求一个字符串数组的最长公共前缀最直接的方法就是:取出第一个字符串转换为字符数组,对比每个字符串相应位数的字符。具体代码如下:class Solution { public String longestCommonPrefix(String[] strs) { if(strs==null)return null; if(strs....
2019-08-22 18:00:19
109
原创 最长回文子串(LeetCode)
回文的最大特点就是中心对称,根据这个特点,我们解决这个问题的中心思想就是检测每个位置的左右两侧是不是对称的,并且记录最长的对称字符数。 但是这种思路只适用与121这种模式,对于1221这种模式需要进行适当的处理。而我所知道的有两种方法。一:修改字符串将字符串:向两个字符中间插入特定的字符如:‘.’。即121-->1.2.1 , 1221-->...
2019-08-21 19:50:15
130
原创 AndroidStudio--公司内网--环境迁移
前两天驻场开发的甲方爸爸要求全部改成远程桌面开发,于是整层楼的开发人员就开始了浩浩荡荡的集体环境迁移。环境迁移最大的问题就是没有外网,很多插件之类的东西无法下载,只能靠打包自己已经安装好的本地软件上传后直接使用。问题:AndroidStudio却让我很头疼,直接将环境打包了三个文件夹1、AndroidStudio的安装目录。2、sdk安装目录。3、用户空间下的.gra...
2019-08-12 09:47:06
1061
1
原创 input标签重新设置内容时出错!
出现的问题:input标签type属性为number时,式化取出input内容进行格后重新设置会出错。解决方法:由于我这里取出的数据格式化的方法会得到一个字符串,所以可以将input的type属性修改为text,然后进行赋值,最后再将input的type属性修改为number。(注意:格式化后的字符串不能含有非number字符)具体操作如下: $("#number...
2019-07-25 09:04:08
276
原创 设计模式----单例
1、饿汉单例 在声明的同时进行实例化,所以是在类加载并初始化的时候就进行实例化,这会造成在不需要使用到该类的时候内存的占用。下面的是idea自动生成的单例public class Singleton { //声明的同时进行实例化 private static Singleton ourInstance = new Singleton(); public ...
2018-10-15 18:53:07
123
原创 对称二叉树--》leetcode
将根树进行拆分遍历,左子树的右节点要与右子树的左节点相等。下面是递归的做法:class Solution { public boolean isSymmetric(TreeNode root) { if(root==null)return true; return check(root.left,root.right); } p...
2018-09-13 17:47:05
479
原创 验证二叉搜索树
根据二叉搜索树的特点可以得出结论:二叉搜索树的中序遍历结果排序从左到右依次递增。那么通过一次中序遍历就可以检测该树是否为二叉搜索树。代码如下: class Solution { public int temp=0; public boolean firstNode=true; public boolean isValidBST(Tree...
2018-09-12 20:41:28
150
原创 神舟k610d i7 d2 黑苹果安装资源 10.15.x
安装教程自行百度。最新的苹果系统10.13.6------》https://pan.baidu.com/s/1eGUSFs3A2azMA9pvIjAnaA 密码: gd5h配套efi文件:下载链接
2018-08-21 11:32:08
6428
8
原创 删除链表的倒数第N个节点 ----java , 递归
这个题目楼主用了比较骚气的做法,通过递归的方法去做:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution {...
2018-07-30 20:58:08
308
原创 mysql----ubuntu安装
安装命令如下: 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3. sudo apt-get install libmysqlclient-dev 等待安装结束: 使用 sudo netstat -tap | grep mysql 查看mysql是否启动若安装成功...
2018-07-17 13:58:50
147
原创 有效的字母异位词,三个版本
一、通过类似冒号排序的形式,将两个String转成char[],通过第一个String对比将第二个String进行排序,排成跟第一个String一样。public boolean isAnagram(String s, String t) { if (s.length() != t.length()) return false; char[] str_s = s.toCharArr...
2018-07-09 19:07:42
948
原创 svn安装与配置
服务器系统版本:CentOS Linux release 7.5.1804 (Core)一、通过yum 命令安装yum install -y subversion二、安装成功后,进行配置①、创建代码仓库目录mkdir /home/svn②、通过svnadmin命令进行创建svnadmin create /home/svn创建成功后会在/home/svn/conf下看到如下内容:[root@VM_5...
2018-07-08 22:51:52
148
原创 字符串中的第一个唯一字符(LeetCode)
刚开始做的时候,我是直接通过x.toCharArray()获取字符数组,接着通过两层循环遍历比较,但是这样写虽然能够通过但是效率太低了,查看了一下结果这种写法是在提交结果中垫底的。所以我就去查了一下源码找找突破。因为源码中String又一个contains()方法,contains()则是调用的另外一个indexof()方法。就一下子让我想起了indexof()跟lastIndexOf()。解决方...
2018-07-08 17:01:22
618
原创 旋转图像
class Solution { public void rotate(int[][] matrix) { int length=matrix.length; int temp=0; for(int row=0;row<length/2;row++){ for(int col=row;col<length-...
2018-06-22 00:47:12
185
原创 有效的数独--leetcode
class Solution { public boolean isValidSudoku(char[][] board) { Set<Character> temp=new HashSet<>(); Set<Character> temp1=new HashSet<>(); boolean t...
2018-06-21 00:07:44
670
原创 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
class Solution { public void moveZeroes(int[] nums) { int zeroNum=0;//用来计算0的个数 for(int i=0;i<nums.length;i++){ if(nums[i]==0){//如果nums[i]=0,zeroNum个数加一 ...
2018-06-19 21:10:33
12531
11
原创 只出现一次的数字,LeetCode可通过。
这个题目只是看题目的话是很简单的,但是说明中有一条是应该算法具有线性时间复杂度 ,这一点我是真的百思不得其解。只能先自己实现一下这个功能,但是我的时间复杂度为O(n²)代码如下:class Solution { public int singleNumber(int[] nums) { int temp=nums[0]; boolean tmp...
2018-06-18 23:09:21
161
1
原创 旋转数组,针对上次的加强版(LeetCode可通过)
针对上次的博客的修改版:上次的写法虽然正确但是通不过leetCode的测试,原因是超时运行。这次先贴上代码,下次在找机会画画图解释一下:class Solution { public void rotate(int[] nums, int k) { int temp=0; k=k%nums.length; if((n...
2018-06-18 01:32:47
1328
1
原创 买卖股票的最佳时机 II
整体分析:只要相邻的两天价格存在上升就可以直接进行买和卖不需要考虑其他复杂的事情,就好比:[1,2,3,4,5]这一个例子,从第一天开始买到第五天卖的结果跟一天买入一天卖出的结果是一样的所以就是直接计算相邻两个数的差为正数的所有结果的和。代码如下:class Solution { public int maxProfit(int[] prices) { int temp=0; ...
2018-06-17 23:35:31
165
原创 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
题目来源:https://leetcode-cn.com最直观的写法:旋转一步就是将最后一个数置换到最前面(一个一个交换),然后在外部添加一个循环(步数)。class Solution { public void rotate(int[] nums, int k) { int temp=0; int length=nums.length; if(k%...
2018-06-16 23:58:56
6504
4
原创 LeetCode算法题----从排序数组中删除重复项
题目来源:https://leetcode-cn.com/解题过程:class Solution { public int removeDuplicates(int[] nums) { int j=1; for(int i=0;i<nums.length-1;i++){ if(nums[i+1]!=nums[i]){ ...
2018-06-15 23:53:01
242
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人