自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java8 stream

stream一、什么是stream流(stream)是支持顺序和并行聚合操作的元素序列。集合(Collection)和流虽然有一些表面上的相似之处,但有着不同的目标。集合(Collection)主要是对元素的有效管理和访问。相比之下,流(Stream)不提供直接访问或操作其元素的方法,而是关注于声明性地描述其源以及将在该源上聚合执行的计算操作。在Java 8中,stream(java.util.stream)专注于对集合(Collection)对象进行各种聚合操作(aggregate operati

2020-11-01 21:31:12 385

原创 Java实现微信小程序校验图片是否含有违法违规内容

文章目录1.Java实现微信小程序校验图片是否含有违法违规内容(security.imgSecCheck)2.接口文档简述3.Java实现对接接口4.压缩图片(Thumbnails)5.整合压缩图片和对接代码6.ImageUtils工具类7.结束语1.Java实现微信小程序校验图片是否含有违法违规内容(security.imgSecCheck)做毕设期间,第一次对微信小程序的开发接口进行对接,发现微信的接口文档写的及其简单,导致我找寻许久都没有找到合适的介绍,在此记录自己使用Java在后台对接secur

2020-05-27 17:11:27 3609 3

原创 Java实现微信小程序文字内容检测

文章目录Java实现微信小程序文字内容检测1.微信开放接口描述2.获取AccessToken3调用微信开放接口msgSecCheck检测文字内容Java实现微信小程序文字内容检测本人在做毕设时,想要将微信小程序正式上线,但是无法通过审核,原因是没有对发布的内容进行审核。而微信开发平台提供了一个开放接口,可以在服务端实现这个接口,对一段文字进行审核。点击进入微信开放接口文档1.微信开放接口描述请求地址:POST https://api.weixin.qq.com/wxa/msg_sec_check

2020-05-27 15:28:56 1145

原创 CentOS6.5下安装在eclipse配置Hadoop插件

前提:虚拟机中以安装好Hadoop集群。一、安装eclipse解压Eclipse即可,进入eclipse解压之后的目录执行命令./eclipse二、将插件hadoop-eclipse-plugin-2.5.2.jar移到eclipse目录下的plugins下,记得这个插件要和你所安装的hadoop版本一致,才可以正确安装。使用图形化界面的复制...

2019-10-16 01:20:49 504 2

原创 CentOS7下安装percona-toolkit工具包的安装

一、检查和安装与Perl相关的模块依赖检查命令为rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL应该有以上四个依赖包,如果没有,请使用下面的命令安装yum install perl-DBIyum install perl-DBD-MySQLyum install perl-Time-H...

2019-08-28 16:33:49 2467

原创 CentOS7使用桥接设置静态ip无法ping通的情况解决

解决了两天,找了很多解决办法,昨天突然 可以了,今天又突然挂掉,于是又重新寻找办法,这玩意仿佛就像在玩运气似的,明明配置是一样的,却无法连通。我在偶然可行的情况的下,去一个个排除变量,发现之前配置的都是无关变量,现在我也不知道哪些是核心有关的配置。在这里写下基本的相关配置吧。使用的是桥接模式1,查看相关的虚拟网络配置2、点击更改设置,给予权限3、可以看到有VMnet...

2019-08-11 12:17:54 4226 1

转载 安装CentOS7版本 图文版

转载至脚本之家,附上链接https://www.jb51.net/article/148000.htm

2019-08-10 11:17:35 179

原创 LeetCode 225 用队列实现栈 java实现 个人算法之旅

LeetCode 225. 用队列实现栈使用队列实现栈的下列操作:push(x) -- 元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也...

2019-05-08 22:49:36 177

原创 leetcode 232.用栈实现队列Java实现 算法之旅

leetcode 232. 用栈实现队列.easy](https://leetcode-cn.com/problems/implement-queue-using-stacks/)使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。示例:My...

2019-05-07 22:21:21 314

原创 leetcode 20 有效的括号 Java实现 算法之旅

leetcode 20. 有效的括号.easy](https://leetcode-cn.com/problems/valid-parentheses/)给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入:...

2019-05-07 20:37:53 343

原创 LeetCode 25 k个一组翻转链表 Java实现 算法之旅

k个一组翻转链表Leetcode : 25. k个一组翻转链表[hard]给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4-&...

2019-05-05 22:36:19 804

原创 Leetcode : 24. 两两交换链表中的节点 Java实现 算法之旅

Leetcode : 24. 两两交换链表中的节点(medium)给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例:给定 1->2->3->4, 你应该返回 2->1->4->3.解题思路使用一个前继节点来记录两两交换之后的第二个节点,这样在每次交换之前就可以将...

2019-05-05 11:28:19 379

原创 LeetCode 406 根据身高和序号重组队列 java实现 算法之旅

根据身高和序号重组队列Leetcode : 406. Queue Reconstruction by Height(Medium)假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1],...

2019-04-22 22:49:09 1212

原创 划分字母

划分字母Leetcode : 763. Partition Labels (Medium)题目:字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。示例 1:输入: S = “ababcbacadefegdehijhklij”输出: [9,7,8]解释:划分结果为 “ababcbaca”, ...

2019-04-19 17:40:28 270

原创 LeetCode 392 判断子序列 java实现 算法之旅

判断是否为子串Leetcode : 392. Is Subsequence (Medium)给定字符串 s 和 t ,判断 s 是否为 t 的子序列。​你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。​字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位...

2019-04-16 22:42:43 479

原创 LeetCode 665 修改一个数成为非递减数组 java实现 算法之旅

修改一个数成为非递减数组Leetcode : 665. Non-decreasing Array (Easy)给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。​我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]。Inpu...

2019-04-16 09:12:14 769

原创 LeetCode 101 对称二叉树 java实现 算法笔记

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。1/ \2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的:1/ \2 2\ \3 3解题思路//左节点的左节...

2019-04-03 22:50:19 144

原创 归并排序 java实现

归并排序​​​​​​要将一个数组排序,可以先递归将它分成两半分别排序,然后将结果归并起来。归并性质:任意长度为N的数组排序所需的时间和Nlog(N)成正比;缺点则是它所需要的额外空间和N成正比。实现一:自顶向下(递归,分治)private static Comparable[] aux;//归并所需要的辅助数组 public static void main(Strin...

2019-03-31 22:37:34 167

原创 希尔(shell)排序 java

希尔排序希尔排序:交换不相邻的元素以对数组的局部进行排序,并最终用插入排序将局部有序数组排序。思想:使数组中任意间隔为h的元素都是有序的,这样的数组被称为h有序数组。一个h有序数组就是h个互相独立的有序数组编织在一起的数组。不稳定排序public static void main(String[] args){ Integer[] a = {23, 21, 4, 6, 7...

2019-03-31 22:32:01 170

原创 插入排序 java

* 插入排序* 通过构建有序序列,对于未排序数据,在已经排序的序列中从后向前扫描,找到相应的位置并插入。* 步骤:* 1, 从第一个元素开始,该元素可以被认为已经被排序* 2, 取出下一个元素,在已经排序的元素中从后向前扫描* 3, 如果该元素(已经排序的)大于新元素,将该元素移至下一个位置* 4, 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置* 5, 将该元素插入到该位...

2019-03-31 22:24:10 128

原创 选择排序 java实现

选择排序:首先找到数组中最小的那个元素,其次将它和数组的第一个元素交换位置(如果第一个元素就是最小元素,那么它和它自己交换。* 在剩下的元素中找最小的元素,将其与数组中的第二个元素交换,如此往复,直到将整个数组排序。* 不断的选择剩余元素中的最小者 public static void main(String[] args){ Integer[] a = { ...

2019-03-31 22:09:22 77

原创 冒泡排序 java实现

* 原理:比较两个相邻的元素,将值大的元素交换至右端。** 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。** 第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的...

2019-03-31 22:03:28 103

原创 LeetCode 212. 单词搜索II java实现 个人算法之旅

给定一个二维网格board和一个字典中的单词列表words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例:输入: words = ["oath","pea","eat","rain"] and board =[ ['...

2019-03-11 10:45:04 202

原创 LeetCode 208. 实现 Trie (前缀树)

实现一个 Trie (前缀树),包含insert,search, 和startsWith这三个操作。示例:Trie trie = new Trie();trie.insert("apple");trie.search("apple"); // 返回 truetrie.search("app"); // 返回 falsetrie.startsWith("app...

2019-03-10 12:07:09 289

原创 字典树(Trie)

1、Trie树的数据结构Trie树,即字典树,又称单词查找数或者键数。是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不限于字符串),所有经常被搜索引擎系统用于文本词频统计。优点:最大限度地减少无谓的字符串比较,查询效率高于哈希表。2、Trie数的核心思想Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。3...

2019-03-10 11:55:06 216

原创 LeetCode 69. x的平方根 java实现 个人算法之旅

实现int sqrt(int x)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。解题思路1)使用二分查找,通过不断的缩小范围来...

2019-03-10 11:29:48 371

原创 LeetCode 37. 解数独 java实现 个人算法之旅

编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。空白格用'.'表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字1-9和字符'.'。 你可以假设给定的数独只有唯一解...

2019-03-10 11:22:23 152

原创 LeetCode 36. 有效的数独 java实现 个人算法之旅

判断一个9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用'.'表示。解题思路和N皇后有异曲同工之妙。列、行、3X3矩阵都只能有1~9...

2019-03-10 11:00:31 236

原创 LeetCode 51. N皇后问题 java实现 个人算法之旅

解题思路每摆放一个queen就需要判断,即每一个queen就需要遍历判断是否可以存在。剪枝,回溯,DFS找出列,左斜线,右斜线和n,每一列之间的关系左斜线:列 + 行 = 常数右斜线:行 - 列 + n = 常数(行减去列可能会出现负数,所以加上N)使用3个一维boolean数组来记录列,左斜线,右斜线的关系。class Solution { public...

2019-03-10 10:39:25 517

原创 LeetCode 102. 二叉树的层次遍历 java实现 个人算法之旅

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树:[3,9,20,null,null,15,7],3/ \9 20/ \15 7返回其层次遍历结果:[[3],[9,20],[15,7]解题思路:层次遍历,优先想到广度优先搜索(BFS)和深度优先...

2019-03-09 21:55:42 467

原创 LeetCode 122。 买卖股票最佳时机 java实现 个人算法之旅

给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入:[7,1,5,3,6,4]输出:7解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所...

2019-03-09 19:49:58 281

原创 LeetCode 50.x的N次幂 java实现 个人算法之旅

实现pow(x,n),即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输出: 9.26100示例3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 &lt;x&lt; 10...

2019-03-09 16:47:38 353

原创 递归、分治

递归 - 循环:通过函数体来进行循环举例:1.从前有个⼭山,2.⼭山⾥里里有个庙,3.庙⾥里里有个和尚讲故事:1.从前有个⼭山, 2.⼭山⾥里里有个庙, 3.庙⾥里里有个和尚讲故事: ......递归代码模板Class recursion(level, param1, param2, ...) //递归终止条件 if(le...

2019-03-09 16:02:50 110

原创 LeetCode 235. 二叉搜索树的最近公共祖先 java实现 个人算法之旅

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: ro...

2019-03-08 20:48:35 263

原创 LeetCode 236. 二叉树的最近公共祖先 java实现 个人算法之旅

解题思路:想要找出两个节点的最近祖先节点。树,首先考虑递归遍历。重点递归的返回条件,即return的条件。1,从顶层开始遍历,找到P或q返回,考虑在什么时候返回。即当遍历到p或q节点(他们变成了root节点时)返回root。2,当前的数被全部遍历完毕时,如果p 、q 分别在左子树或者右子树,说明其最近公共祖先节点为最开始的根节点。3,如果p和q都在左边或者右边,则最近公共祖先在左边...

2019-03-08 20:30:27 349

原创 leetcode 98 验证二叉搜索树 java实现 笔记

题目:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。方法一: /** * Definition for a binary tree node. * public class TreeNode { * int...

2019-03-08 13:06:53 235

原创 java实现二叉树遍历

一、递归实现二叉树遍历1)前序遍历:root ,left,right。class Solution { private List&lt;Integer&gt; list = new ArrayList&lt;&gt;(); public List&lt;Integer&gt; preorderTraversal(TreeNode root) { inord...

2019-03-07 23:40:20 141

原创 leetcodeLeetCode 1. 两数之和 java实现 个人算法之旅笔记

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路:解法一:暴力解题,...

2018-11-27 09:46:42 146

原创 LeetCode 239. 滑动窗口最大值 java实现 个人算法之旅笔记

239.滑动窗口最大值给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口k内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 ...

2018-11-18 13:11:08 2960

原创 LeetCode 703.数据流中的第K大元素 java实现 算法之旅

设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回当前数据流中第K大的元素。解法一:记录前K个的最大值:每次进来一个比K个值里面最小值大的数,踢出K个值里面最小的那个数,把最新的那个数记录...

2018-11-16 23:07:18 1639

空空如也

空空如也

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

TA关注的人

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