- 博客(60)
- 资源 (1)
- 收藏
- 关注
原创 leetcode 124. 二叉树中的最大路径和
题目思路使用深度优先搜索,使用全局变量max,分成两种情况:一种是当前遍历的节点是中间的节点,计算这个节点左右子树的节点和(左右子树必须大于0,否则赋值为0),并与max比较。第二种是这个节点只作为中间路过的节点,计算左右子树的最大值(左右子树必须大于0,否则赋值为0),然后加上当前节点值 返回。代码class Solution { int max=Integer.MIN...
2019-11-23 16:52:00 227
原创 Java连接elasticsearch报错解决办法:NoNodeAvailableException[None of the configured nodes are available
问题今天使用Java连接elasticsearch报错出现了NoNodeAvailableException[None of the configured nodes are available解决办法去elasticsearch文件夹下的config目录中,找到elasticsearch.yml文件,修改这两个地方的注释...
2019-11-13 14:57:54 5290
原创 使用Logstash同步MySQL到ElasticSearch
mysql 作为成熟稳定的数据持久化解决方案,广泛地应用在各种领域,但是MySQL在进行进行非常庞大的数据检索时速度会比较慢,而 elasticsearch可以作为一项解决方案,而我们要做的只需要将 mysql 中的数据同步到 elasticsearch 中即可。这里使用的同步工具为LogstashLogstash下载Logstash官网下载地址:logstash下载的版本尽量和elast...
2019-11-13 14:10:18 687
原创 论坛等社交平台实现未读消息提醒的一种方式
最近在做BBS项目时,遇到了如何回复了消息以后让别的用户能够收到未读消息提示一开始想到的是在原先的回复表中添加字段,后来考虑了一个新办法1.创建一个message类,里面的属性 private Integer id;主键 private String context;// 消息的内容 private String type;//消息类型 0 回复 1 关注 2 点赞 ...
2019-10-17 22:03:05 1620
原创 Java重写、重载、多态的具体区别
在复习Java基础时,对重写、重载、多态的概念进行了一下梳理重写 override父类与子类有同样的方法名和参数,这叫方法重写。(Override) class Parent{ void func(){ System.out.println("parent func()"); } } class child exten...
2019-09-24 15:35:03 247
原创 leetcode 228. 汇总区间
问题思路使用两个指针,start指向本区间开始,end指向本区间结束,如果nums[i]=end+1,即属于这个区间,则区间end+1,否则加入list,注意最后一个位置的边界处理时间代码class Solution { public List<String> summaryRanges(int[] nums) { List<String&g...
2019-09-10 14:50:06 295
原创 leetcode 740. 删除与获得点数
问题思路使用动态规划,先创建以nums数组(最大值+1)为长度的数组temp,来统计各个值出现的次数创建dp数组,给dp[1] 赋初始值 temp[1]使用公式 max(dp[i−2]+temp[i]∗i,dp[i−1])max(dp[i-2]+temp[i]*i,dp[i-1])max(dp[i−2]+temp[i]∗i,dp[i−1]) ,这个公式来判别两个相邻近的数字使用哪个作为...
2019-09-09 12:22:01 190
转载 SpringCloud解析@FeignClient标识接口的过程
Feign的作用是将Http请求抽象化为一个Interface客户端,可以调用接口的形式来执行Http请求,以达到简化Http调用的目的。Feign将分散在@FeignClient,@EnableFeignClients,标识接口,接口方法,Spring环境上的各种配置信息提取出来封装成一个对象,然后将对象里的信息注入到RestTemplate中,生成一次Http请求,然后执行。正常在Spri...
2019-09-08 15:40:23 1333
原创 idea Module '****' already exist in project. Please, specify another name.
问题今天在创建新的spring cloud子项目时,新建项目出现了idea Module '****' already exist in project. Please, specify another name.解决办法因为我在别的springcloud项目中创建过这个子项目,所以modules还是会管理那个module,点击 ‘-’ 号移除掉那个项目...
2019-09-05 15:15:35 6612
转载 字符编码笔记:ASCII,Unicode 和 UTF-8
今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料。这个问题比我想象的复杂,午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。我尽量写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。一、ASCII 码我们知道,计算机内部,所有信息最终都是一个二进制值。每一个...
2019-09-02 19:52:10 138
原创 leetcode 655. 输出二叉树
问题思路行数 m 是树的高度,所以要先计算出树的高度列数 n 从另一个角度想,既然能够在任意两个几点位置不重复的情况下容纳下所有的节点,证明列数n的数量为以m为高度的满二叉树的所有节点的数量把List<List<String>>中所有的的元素都存为“”,然后使用深度优先搜索算法和分治法,更改里面的元素 (具体位置为首末位置的中间节点),同时设置一个deep变量,...
2019-09-02 14:44:20 307
原创 Java 在for循环体中修改索引i时,索引i的变化
今天在做题时遇到了在for循环体中修改索引的一点问题做了个测试,运行如下代码public class test { public static void main(String[] args) { for(int i=1;i<6;i++){ System.out.println(i); i++; }...
2019-08-30 13:10:57 2163
原创 源码解析之java.lang.Object
本文基于JDK8 分析Object源码Object所有方法registerNativesprivate static native void registerNatives(); static { registerNatives(); }使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由jav...
2019-08-29 22:52:18 190
原创 @PostConstruct、Servlet的init()方法、构造器、spring的autowired的执行顺序
一 servlet启动过程中的几项执行顺序创建servlet类,并继承HttpServlet首先测试servlet启动过程中 @PostConstruct、Servlet的init()方法、构造器的启动顺序import javax.annotation.PostConstruct;import javax.servlet.ServletException;import javax.ser...
2019-08-28 15:44:50 1162
原创 HackerRank之Climbing the Leaderboard题解
题目具体题目地址Climbing the Leaderboard思路好不容易通过了所有测试用例,使用单纯的暴力破解只能通过一部分用例,部分用例会超时思路,使用list列表存储所有不重复的数字,因为本身数组就排序了,所以不用排序,然后因为alice数组也是从小到大排列,所以名次肯定也是从后向前排,所以从list后面开始计算位置,并且每查找一个,就把list相应最后的一个元素删除,减少下一...
2019-08-19 15:12:17 539
原创 leetcode 725. 分隔链表
题目思路首先遍历节点,计算链表长度,建立数组list,记录该节点应该是一个多长的链,然后使用两个指针,一个指向当前节点一个指向上一个节点,用来断开链表,存入结果数组res时间代码class Solution { public ListNode[] splitListToParts(ListNode root, int k) { ListNode node=ro...
2019-08-12 15:47:57 202
原创 leetcode 1140. 石子游戏 II
题目思路想得到亚历克斯的最大值,那么李就要取最小值,考虑使用深度优先搜索遍历,定义函数:f(i,M)f\left ( i,M \right )f(i,M)表示piles从位置i开始到最后的以[1,2*M]为范围所能取到的最大值,使用公式f(i,M)=sum(piles[i:])−min(f(i+x,max(m,i))),1≤x≤2∗Mf\left ( i,M \right )=sum...
2019-08-06 15:10:46 262
原创 leetcode 495. 提莫攻击
题目思路使用变量end表明之前的中毒状态结束的时间,判断下一次的攻击是否在中毒状态中,分别做不同的算术时间5ms代码class Solution { public int findPoisonedDuration(int[] timeSeries, int duration) { if(timeSeries.length==0)return 0; ...
2019-08-05 15:47:11 138
原创 用牛顿-拉弗森法求平方根函数
基本介绍牛顿法(英语:Newton’s method)又称为牛顿-拉弗森方法(英语:Newton-Raphson method),它是一种在实数域和复数域上近似求解方程的方法。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(y)=0的根。二分法可以求解方根,而使用牛顿迭代法可以更快地解出方根。现在,人们使用的计算器里面大多数都是运用的牛顿迭代法。原理介绍假设n=x2,现在求n的方根,...
2019-07-31 22:37:28 627
原创 leetcode 1003. 检查替换后的词是否有效
题目方法一(速度最慢)思路这是我最先想到的方法,每碰到一个“abc”,就删除该“abc”,最后看看字符串长度是否为0时间875ms代码class Solution { public boolean isValid(String S) { if(!S.contains("abc")){ return false; } ...
2019-07-18 12:11:38 193
原创 leetcode 1111. 有效括号的嵌套深度
题目方法一:时间4ms思路第一遍遍历求最大深度,第二遍遍历深度大于最大深度一半的赋给B,小于最大深度一半的赋给A代码class Solution { public int[] maxDepthAfterSplit(String seq) { int deep=0; int len=seq.length(); int[] ans...
2019-07-15 11:58:35 556
原创 leetcode856. 括号的分数
题目思路如下图所示,每一条直线代表一层括号,每多一层括号意味着这个数变成了原来的两倍,设一个深度deep用来表示括号的层数,每找到一个 “(” ,deep的值就增加1,同层的deep相同,如果遇到最底层的括号,也就是 “(” 的下一个就是 “)” ,结果res加上2的deep次方时间代码class Solution { public int scoreOfParenthes...
2019-07-12 15:02:53 175
原创 python打包exe出现Cannot find existing PyQt5 plugin directories
问题在打包时会出现问题Cannot find existing PyQt5 plugin directories,导致失败解决办法我使用anaconda,进入目录H:\anaconda3\Library\plugins\PyQt5将里面的dll动态库pyqt5qmlplugin.dll复制出来按照错误提示的路径(如C:\qt5b\qt_152464784849_h_env\Librar...
2019-07-10 20:05:05 437
原创 解决使用pyinstaller打包报错: RecursionError: maximum recursion depth exceeded
问题今天使用pyinstaller把程序打包exe,出现了以下错误 File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit return visitor(node) File "d:\programdata\anaconda3\lib\ast.py", line 261, in generic_visit ...
2019-07-10 19:58:48 3721 1
原创 leetcode 667. 优美的排列 II
题目思路1.首尾各设置一个指针,再设置一个数组的指针2.从首末两端依次取值,取k个值,依次放入结果数组(k个值对应k-1个差值,且这k-1个差值均不相同)3.最后再从最后一个被取的值那里开始,以1为差值的依次存入结果数组,因为前k-1个值是从最大减去最小开始计算的,所以到了第k-1个差值时,肯定也会>1,所以加上这个1,总共就是k个不同的数时间代码class Solutio...
2019-07-05 14:36:53 293
原创 Ubuntu系统的docker修改时间
问题使用docker,发现时间不对,docker内部比linux服务器慢了8个小时,应该是默认的时区和我们的时区不同解决办法使用命令echo "Asia/Shanghai" > /etc/timezoneln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime使用date命令,发现时间变成的正常的时间...
2019-07-03 16:00:50 1084
原创 leetcode931. 下降路径最小和
题目思路建立动态规划的dp数组dp[ i ][ j ] 代表到点(i,j)的最短距离,取每个点上一行相邻近的值,取最小值并加上A[ i ][ j ]并赋值给dp[ i ][ j ]取最后一行的最小值时间8ms代码class Solution { public int minFallingPathSum(int[][] A) { int[][] dp=n...
2019-07-02 15:32:34 174
原创 利用python使用baidu-api和opencv库实现人脸颜值检测打分
1.调用百度人脸识别api进入百度人脸识别,点击立即使用,登陆后点击创建应用这里有三个id,这个是之后调用api的时候会用到查看首页的技术文档这里包含了如何去调用api的方法,首先安装python的baidu-api库pip install baidu-aip复制下面的参考代码下面包含了人脸检测 请求参数详情在face_fields中添加beauty,然后先本地存几张...
2019-07-01 15:24:31 1718
原创 leetcode 841. 钥匙和房间
题目思路个人思路是利用一个队列来存放所有钥匙,使用一个boolean型数组来计算这个房间是否被访问过,如果访问过这个房间,就进入房间把所有的钥匙放入这个队列里,如果没访问过这个房间,就不再进入这个房间存放钥匙。最后遍历数组,如果有没访问过的数组,就return false代码class Solution { public boolean canVisitAllRooms(Lis...
2019-07-01 12:48:13 311
转载 ASCII、Unicode和UTF-8 之间的关系
转载请标明:https://www.cnblogs.com/zxj9487/p/9941486.html1. ASCIIASCII 只有127个字符,表示英文字母的大小写、数字和一些符号,但由于其他语言用ASCII 编码表示字节不够,例如:常用中文需要两个字节,且不能和ASCII冲突,中国定制了GB2312编码格式,相同的,其他国家的语言也有属于自己的编码格式2. Unicode由于每个国...
2019-06-29 19:39:20 2231
原创 leetcode986. 区间列表的交集
题目给定两个由一些闭区间组成的列表,每个区间列表都是成对不相交的,并且已经排序。返回这两个区间列表的交集。(形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合,而 a <= x <= b。两个闭区间的交集是一组实数,要么为空集,要么为闭区间。例如,[1, 3] 和 [2, 4] 的交集为 [2, 3]。)解题思路1.使用双指针,比较每个指针所指区间段...
2019-06-25 11:48:26 596
原创 在linux中使用docker部署java web服务
最近使用docker部署了一下自己的java web项目,期间也踩了一些坑。第一步,安装docker,过程不详赘述,参考docker教程第二步,从docker hub拉下一个tomcat的镜像,因为tomcat镜像里都会安装jdk,但是要看好镜像中jdk的版本和tomcat的版本,一般在网站上会有,推荐去网易云镜像中心,不仅有docker hub的官方镜像,也有用户自己做的镜像。这里使用to...
2019-06-25 00:57:15 2199
原创 解决MariaDB无密码就可以登录,且无法修改密码的问题
问题最近安装了MariaDB,MariaDB其实就是mysql的一个开源版本,语法和mysql是一致的,今天安装了MariaDB发现一输入mysql就能进入,是因为默认root账号没有密码,想修改密码,发现输入下面的命令都没效果:mysqladmin -u用户名 -p旧密码 password 新密码 mysql> use mysql; mysql> update user...
2019-06-20 16:18:36 2653
原创 linux docker启动mysql出现Can 't connect to local MySQL server through socket '/tmp/mysql.sock '
最近用docker安装mysql时发现执行完sudo apt-get install mysql-serverapt-get install mysql-client后想登陆MySQL出现Can 't connect to local MySQL server through socket '/tmp/mysql.sock'重启一下服务就好了,执行service mysql rest...
2019-06-19 19:37:09 2427 1
原创 leetcode 1079. 活字印刷
题目:你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。个人解法:思路:利用深度优先遍历,建立一个hashset用来进行存储比对,建立一个flag的boolean型数组,用来存储这个字符是否被使用过。时间:50 ms代码:class Solution { Set<String> set=new Ha...
2019-06-13 11:29:31 1589
原创 leetcode39. 组合总和
题目:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。思路:回溯+递归;为了提高效率,可以先对数组排序,然后当遇到sum>target时就直接跳出循环,因为后面的肯定都不可以了;代码中sum和candidates[i]不能提前相...
2019-06-12 12:51:23 1028
原创 763. 划分字母区间
题目:字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。思路:遍历字符串 ,使用temp数组来存储每个字母的最后出现位置,然后把区间第一个字母最后出现的位置赋值给index,遍历index范围内的数组,如果之内的数组超出index范围就把这个值赋给index,直到遍历完成,把用变量i保存开始位置,用...
2019-06-11 15:12:20 329
原创 springMVC中model传递汉字字符到jsp页面会出现乱码的一种可能性
问题今天在使用springmvc时编写model.attribute()时,发现传递到jsp页面上的数据,读取出来都是乱码。原因一开始认为是没有进行编码过滤,但发现在web.xml中添加了CharacterEncodingFilter过滤器在debug模式下,发现字符在传递前就已经是乱码了,也就是并非是传递过程中出现的乱码。添加以下语句:String s=System.getPrope...
2019-06-09 17:42:31 1541 1
原创 leetcode1071. 字符串的最大公因子
问题对于字符串 S 和 T,只有在 S = T + … + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。返回字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。思路比较暴力的去破解,先计算长度是否是公约数,从最大的公约数开始,然后计算str是否能够整除,每一次计算,都删除这一部分,如果中途有失败,就continue至外层循环的下一轮,如果没有失...
2019-06-07 14:17:22 688
原创 leetcode 893. 特殊等价字符串组
题目:你将得到一个字符串数组 A。如果经过任意次数的移动,S == T,那么两个字符串 S 和 T 是特殊等价的。一次移动包括选择两个索引 i 和 j,且 i % 2 == j % 2,交换 S[j] 和 S [i]。现在规定,A 中的特殊等价字符串组是 A 的非空子集 S,这样不在 S 中的任何字符串与 S 中的任何字符串都不是特殊等价的。返回 A 中特殊等价字符串组的数量。解法一:...
2019-06-03 13:52:42 227
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人