- 博客(38)
- 收藏
- 关注
原创 双指针验证回文
双指针验证回文双指针双指针包含快慢指针和首尾指针等等用法,本文主要讲解首尾指针的用法例题(验证回文串)题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。思路:1.设置左右双指针(即首尾指针),向中间判断;2.跳过非数字字母的字符3.将字母全部转换为小写字母后判断伪代码1.初始化定义双指针2.while(i < j){1>.左->右 过滤2>.右-
2021-11-03 09:25:49
319
原创 逆向思考(由后向前遍历)【最后一个单词的长度】
由后向前遍历很多题往往会出现“最后”,“末尾”,等字样,这是如果我们还用传统方法由前向后遍历的话,往往会做很多无用功,这时我们采用由后向前遍历;例题【最后一个单词的长度】题目:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例:输入:s = “Hello World”输出:5输入:s = " fly me to the moon "输出:4思路1&g
2021-10-31 10:34:21
209
原创 KMP详解(含例题JAVA)
BF暴力与KMP例题:实现strStr()题目:给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。思路:1.BF暴力匹配2.KMP算法1.BF暴力很容易想到的方法,即原串(i)与匹配串(j)逐一匹配,不匹配是,i回溯到i+1,j回溯到0重新匹配,复杂度较高代码1>.求两个字符串长度;2>.匹配,a从i开始,b都从0开始;3>.判断,
2021-10-30 21:24:03
263
原创 DFS暴力+剪枝
DFS+剪枝DFS:深度优先搜索,可通过回溯筛选符合条件的子集;剪枝:特定环境下,减去多余的枝节,减少递归次数,减小时间复杂度;题目:统计按位或能得到最大值的子集数目给你一个整数数组 nums ,请你找出 nums 子集 按位或 可能得到的 最大值 ,并返回按位或能得到最大值的 不同非空子集的数目 。如果数组 a 可以由数组 b 删除一些元素(或不删除)得到,则认为数组 a 是数组 b 的一个 子集 。如果选中的元素下标位置不一样,则认为两个子集 不同 。对数组 a 执行 按位或 ,结果
2021-10-21 18:44:53
399
原创 2021-09-27-ELE 避免 (双层循环的暴力解法)
避免 (双层循环的暴力解法)概要通常情况下,在做简单题或中等题时为了缩短思考时间,在数组问题中,但涉及到子元素,最大差值,最大和等问题时,我们习惯用前缀和,双指针等暴力解法来解决问题;但是,这有一半的几率会出现超时情况,因为一般双指针暴力解法的时间复杂度都在O(n^2)以上;本文章将采用O(n)的时间复杂度解决类似问题例一 数组美丽值求和给你一个下标从 0 开始的整数数组 nums 。对于每个下标 i(1 <= i <= nums.length - 2),nums[i] 的 美丽值
2021-09-27 16:23:41
271
原创 前缀和(数组中含有负数与数组中全是正数的区别)
前缀和(题中给出的数组中含有负数)例题(最大子序和)给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。题解class Solution { public int maxSubArray(int[] nums) { int n = nums.length; int[] pre = new int[n+1]; int max = Integer.MIN_VALUE; for(int
2021-05-24 19:12:24
476
原创 二进制链表转整数
二进制链表转整数题解(C++)class Solution {public: int getDecimalValue(ListNode* head) { ListNode* cur = head; int ans = 0; while (cur != nullptr) { ans = ans * 2 + cur->val; cur = cur->next; }
2020-10-23 23:55:14
263
原创 反转链表详解
反转链表详解1.题解代码如下(示例):class Solution { public ListNode reverseList(ListNode head) { ListNode prev = null; ListNode curr = head; while (curr != null) { ListNode nextTemp = curr.next; curr.next = prev;
2020-10-23 17:14:14
193
(65条消息) 总结tomcat优化方法_wwzroom的博客-优快云博客_tomcat优化.lnk
2022-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人