自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ElasticSearch查询匹配

"match_phrase"是短语查询,其中的内容不会被进一步分词。也可以匹配一个句子,这样,只有文档中存在完整的“张三回家”短语时才会匹配到。关于ES的匹配查询,之前match了一个人名,有数据返回,但仔细看并不包含这个人名。ES会自动做分词,将“张三”分为张和三,也就是所有姓张的人都有可能匹配到。

2023-08-30 09:27:16 294

原创 JUnit报错“无法从静态上下文中引用非静态方法”

去掉 static 出现绿色箭头,但运行后报错“无法从静态上下文中引用非静态方法”方法写为静态,在同目录下专门写一个类用于测试方法。则不显示绿色的运行按钮,无法使用。在IDEA中引入JUnit框架。

2023-08-23 15:14:26 370

原创 关于清空set后map中原本指向set的集合也清空的问题

想做一个简单的程序,循环判断符合条件的元素插入set,再将set作为<K,V>中的V存入map。1.用list.clear()方法清空list;用此方法,其它引用该list的值也会变成空。此时arrayList可循环保存下一个set的值,并存储在map中。转而尝试使用new HashSet()清空set,仍然不能成功。但每次循环需要清空set,此时map中指向的地址同时会被清空。看别人的博客了解到List的三种清空方式(2.用list = null来清空list。

2023-08-22 10:12:23 311

原创 回溯算法-暴力穷举思路

Java语言解 Leetcode 41 全排列 Leetcode 51 N皇后

2022-08-10 11:13:31 257

原创 LeetCode HOT100 - 007

整数反转

2022-07-20 18:21:21 124

原创 LeetCode HOT100 - 006

Z字形变换

2022-07-20 16:56:20 130

原创 LeetCode HOT100 - 003

无重复字符的最长子串

2022-07-19 22:02:04 118

原创 LeetCode HOT100-002

LeetCode HOT100-002

2022-07-19 20:47:35 1584

原创 LeetCode HOT100-001

LeetCode hot100

2022-07-19 19:57:48 109

原创 LeetCode——5.最长回文子串

1. 暴力破解: 使用两个for循环取出所有子串,再判断是不是回文,比较长度。时间复杂度是o(),在LeetCode上是无法AC的。2. 中心扩展:遍历字符串,以每一个点或两个点作为回文串的中心,向左右扩散,直到左右不相等,作为一个回文子串,再通过比较长度,取最长的。public String longestPalindrome(String s) { int len = s.length(); if (len == 0) { retur

2022-05-06 15:02:46 322

原创 LeetCode——160.相交链表

@labuladong方法一:两个指针,一个先遍历 A ,再遍历 B ,如果有相交部分,再相交位置会相等方法二:将 A、B中长的部分从前面截掉,再进行遍历,则同时到达相交点方法三:将 A 的末尾与 B 的开头连接起来,则简化为“是否有环及环起点”的问题public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { //一个指针先遍历B再遍历A,一个

2022-05-01 16:01:06 792

原创 LeetCode——141.142 环形链表

@labuladong判断链表是否成环:快慢指针,相遇即有环。public class Solution { public boolean hasCycle(ListNode head) { //快慢指针检查是否相遇 ListNode slow = head , fast = head; while(fast != null && fast.next != null){ slow = slow.next

2022-05-01 14:28:59 497

原创 LeetCode——876.链表的中间结点

@labuladong思想:快慢指针,慢走1,快走2,快指针结束时,慢指针刚好是中间位置。边界控制:本题要求若有两个中间数,取后者感觉边界的问题没有固定的想法,目前觉得模拟虽然有点费时但算准确且不会绕进去,大家有什么更好的方法也留言告诉我下......class Solution { public ListNode middleNode(ListNode head) { //s走一步,f走两步,即f走的路程是s的两倍 ListNode slow =

2022-04-30 22:01:27 281

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

@labuladong因为边界条件纠结了一晚上,感觉想明白了,就做一下记录吧,实在太绕了。不过也在力扣题解里看到了没我想的这么饶的,也贴在下面。class Solution { //找倒数n个结点 public ListNode findNthFromEnd(ListNode head , int k){ ListNode p1 = head; for(int i = 0; i < k; i++){ p1 = p1.

2022-04-30 21:23:43 374

原创 LeetCode——209.长度最小的子数组

https://leetcode-cn.com/problems/minimum-size-subarray-sum/submissions/@代码随想录1.暴力解法class Solution { public static int minSubArrayLen(int target, int[] nums) { //暴力解法:从每一个数开始直到和》target为止,并记录下这个数 //求数组长度 num.length //求字符串长度 s.l

2022-03-25 18:20:47 1446

原创 LeetCode——977.有序数组的平方

LeetCode常想常新,今天刚好看到了大佬的解法豁然开朗,换一种思路真的会简单很多。

2022-03-25 16:26:11 181

原创 LeetCode——844 比较含退格的字符串(java)

https://leetcode-cn.com/problems/backspace-string-compare/用“栈”解决,用StringBuilder模拟栈,底层是char数组StringBuilder是可变对象,用来高效拼接字符串;StringBuilder可以支持链式操作,实现链式操作的关键是返回实例本身;StringBuffer是StringBuilder的线程安全版本,现在很少使用。class Solution { public boolean backspaceCom

2022-03-25 15:43:31 858

原创 LeetCode——283.移动零

@代码随想录https://leetcode-cn.com/problems/move-zeroes/给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]思路:快慢指针法慢指针标记值为 0 的位置,快指针按照顺序向前搜寻不为 0 的值,赋给

2022-03-10 18:29:51 263

原创 LeetCode——26.删除有序数组中的重复项

@代码随想录https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nu

2022-03-10 18:01:53 695

原创 LeetCode——27.移除元素(快慢指针法)

@代码随想录https://leetcode-cn.com/problems/remove-element/submissions/给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改

2022-03-10 16:14:57 159

原创 LeetCode——367.有效的完全平方数

@代码随想录https://leetcode-cn.com/problems/valid-perfect-square/submissions/给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。示例 1:输入:num = 16输出:true示例 2:输入:num = 14输出:false完整代码:class Solution { public bo

2022-03-08 17:57:17 231

原创 LeetCode——69. x 的平方根

@代码随想录给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。由于只保留整数部分,舍去小数部分,所以用寻找左边界的方法寻找结果注意:int 类型

2022-03-08 16:52:45 298

原创 LeetCode—34.在排序数组中查找元素的第一个和最后一个位置

@代码随想录给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。思路:首先罗列可能出现的三种情况:第一种情况:数组中不存在该目标,且目标超过边界第二种情况:数组中不存在该目标,但目标未超过边界第三种情况:数组中存在该目标利用二分查找单独确定左右边界:确定右边界(左闭右闭):left = 0; right = nums.length - 1;i

2022-03-08 13:06:47 269

原创 LeetCode——704 二分查找

@代码随想录给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以假

2022-03-08 12:57:52 221

空空如也

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

TA关注的人

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