堆栈哲学
堆栈哲学
全部文章
题解
HankerRank(1)
leetcode(8)
Luogu刷题入门篇(5)
学习笔记(8)
教程库(2)
归档
标签
去牛客网
登录
/
注册
堆栈哲学的博客
coderAndWAer
全部文章
/ 题解
(共25篇)
题解 | 调整数组顺序使奇数位于偶数前面
来自专栏
解法一:插入排序思想 记录已经是奇数的位置下标(视作为有序区域),然后向后遍历,一经发现是奇数则进行“插入排序”,然后有序区下标加1。 Java参考代码: import java.util.*; public class Solution { /** * 代码中的类名、方法名、...
Java
数组
图解
双指针
2021-07-15
13
1550
题解 | 反转链表
来自专栏
解法一:迭代 在遍历链表时,将当前节点的next 指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。 图解: Java参考代码: /* public class ListNode { int v...
Java
C++
链表反转
链表
递归
双指针
2021-07-15
121
15607
题解 | 用两个栈实现队列
来自专栏
解法一:队列模拟 栈是后进先出,队列是先进先出,想要用栈实现队列,需要把一个栈中的元素挨个pop()出来,再push到另一个栈中。 上图中,我们将栈a中的数据全部pop()出来,再放入栈b中,经过这么一番操作后,栈b中的元素顺序就变成先进先出的顺序了,所以栈b中的顺序跟队列顺序一样了。解法一、解...
Java
队列
栈
模拟
图解
2021-07-15
9
2260
题解 | 数组中只出现一次的两个数字
来自专栏
解法一:位运算(推荐) 既满足时间复杂度又满足空间复杂度,就要提到位运算中的异或运算 XOR,主要因为异或运算有以下几个特点: 一个数和 0 做 XOR 运算等于本身:a⊕0 = a 一个数和其本身做 XOR 运算等于 0:a⊕a = 0 XOR 运算满***换律和结合律:a⊕b⊕a = (a⊕a...
C++
哈希表
位运算
2021-07-15
4
1060
题解 |数字在升序数组中出现的次数
来自专栏
解法一:暴力 在一个数组中寻早某个元素或者统计其出现的次数 显而易见的方法是暴力解法 循环枚举数组元素,如果有找到目标值K,加入计数器 返回计数器数值即可 Java参考代码: public class Solution { public int GetNumberOfK(int [] a...
Java
二分查找
图解
数组
暴力
2021-07-15
0
1202
题解 | 数独
来自专栏
解法一:递归回溯 递归参数: 因为解数独找到一个符合的条件(就在树的叶子节点上)立刻就返回,相当于找从根节点到叶子节点一条唯一路径,所以需要使用bool返回值, 终止条件: 递归的下一层的棋盘一定比上一层的棋盘多一个数,等数填满了棋盘自然就终止(填满当然好了,说明找到结果了),所以不需要终止条...
Java
递归
位运算
2021-07-15
0
988
题解 | 通配符匹配
来自专栏
解法一:贪心 如果i和j标记的字符正好相等或者j字符是'?'匹配成功,则"移除"i和j元素,即自增i、j。否则如果j字符是✳(*号)依然可以匹配成功,则用istart和jstart分别标记i元素和j元素之后自增j。 否则如果istart>-1说明之前匹配过✳,因为可以匹配...
Java
动态规划
贪心算法
2021-07-15
1
838
题解 | 找到搜索二叉树中两个错误的节点
来自专栏
题意分析: 在做这道题之前,最好是先了解什么是搜索二叉树(BST) 左子树的值小于根节点 右子树的值大于根节点 子树同样满足上述规则 BST: 可以参考图解示例: 解法一:递归 因为二叉搜索树的中序遍历是正序数组,所以直接进行中序遍历,遍历的过程中直接找出异常值分析结果可得。 ...
Java
二叉树
搜索二叉树
图解
递归
数组
2021-07-14
5
1965
题解 | 最长公共前缀
来自专栏
解法一:纵向扫描 将字符串数组看作一个二维空间,每一次从第一列开始。 确定所有字符子串中第一列字符。 逐层扫描后面每一列,遇到不同字符停止扫描。 图解: Java参考代码: import java.util.*; public class Solution { /** ...
Java
图解
数组
字符串
2021-07-14
40
4503
题解 | 数组中相加和为0的三元组
来自专栏
解法一:双指针 对数组长度进行特判 排序 num[i]>0说明后面的三数和不可能等于0。 对于重复元素跳过 左指针left=i+1,右指针right = len-1 当nums[i]+nums[left]+nums[right]==0执行循环,判断左界和右界是否和下一位置重复,去除重复解...
Java
数组
图解
哈希表
双指针
2021-07-14
10
2676
首页
上一页
1
2
3
下一页
末页