翁佳明
翁佳明
全部文章
分类
归档
标签
去牛客网
登录
/
注册
翁佳明的博客
全部文章
(共13篇)
题解 | #数组中两个字符串的最小距离#
思路:贪心 1.如果暴力:两层for循环枚举,数据范围是10^5,会超时 2.用贪心(dp)来优化 3.用若干个变量来标记某个位置前驱的最优解(常用优化方法)预处理思想 只管左边,不管右边。当遍历到后面的时候,向左看,会包含之前右边的情况。 4.prev1:标记的是遍历到i位置时,左边最近符合要...
2024-04-23
0
262
题解 | #最小花费爬楼梯#
思路:动态规划 1.当前在的i位置,不需要花费,只有向上走的时候才会花钱 2.真正的楼顶,是所有台阶的下一个位置。 3.要么从0位置开始,要么从1位置开始。可以走一步,也可以走两步。 状态表示:dp[i] 表示:到达i位置的最小化费。 转态转移方程: 情况1:先到达i-1位置的最小花费dp...
2024-04-23
0
196
题解 | #点击消除#
思路: 1.用栈,但是最总还需要倒序输出 2.用可变长的数组来模拟栈(StringBuilder) 代码: public static void main(String[]args){ Scanner in = new Scanner(System.in); char[] s= in...
2024-04-23
0
154
题解 | #[NOIP2010]数字统计#
思路:枚举+数字拆分 1.数字拆分:不断的%10,再/10 2.注意在枚举的过程中,用临时变量来代替i进行拆分 代码: import java.util.Scanner; public class Main { public static void main(String[] args) {...
2024-04-23
0
158
题解 | #二叉树遍历#
思路 1.根据前序遍历的字符串,创建二叉树,再通过创建的二叉树,打印中序遍历 2.给了前序遍历,可以找到根节点的位置 3.#代表空树,空节点是指定的,因此可以创建唯一二叉树 4.前序遍历,先创建根节点,如果遇到#,返回的同时用子节点接收 5.因为要递归,所以不采用循环来遍历字符串,设置一个静态成员...
2023-11-02
0
198
题解 | #合并两个排序的链表#
1.创建一个新节点,连接两个链表中的元素 cur代替node移动 3.比较两个链表的头结点值的大小,谁小连谁,头结点后移 4.cur向后移动 5.如果两个链表的头结点不为空,证明有剩余,cur指向剩余的头结点 6.最后返回node的下一个结点 ListNode node = n...
2023-10-27
0
270
题解 | #栈的压入、弹出序列#
思路 遍历数组,每次循环从push数组中向栈里压进一个元素,在pop数组中进行比较 如果相等,出栈,继续压进push数组的下一个元素 最后栈为空,说明数组中的顺序相匹配 解题步骤 1.给栈中压入一个元素 2.查看栈顶的元素是否等于popV数组中的值 3.加入循环的条件:j不能越界,避免越界异常...
2023-10-26
0
253
题解 | #链表分割#
1.思路 1.先通过快慢指针,找到中间结点 2.对中间结点后面的链表进行反转 3.指针从两端开始移动,如果符合回文结构,在奇数情况下相与,在偶数情况下相邻 2.图解 3.解题步骤 1.判断头结点是否为空,判断是否只有一个结点 2.设立快慢指针,找到中间的结点 3.设cur结点为中间结点的...
2023-10-23
0
241
题解 | #链表的回文结构#
1.思路 1.先通过快慢指针,找到中间结点 2.对中间结点后面的链表进行反转 3.指针从两端开始移动,如果符合回文结构,在奇数情况下相与,在偶数情况下相邻 2.图解 3.解题步骤 1.判断头结点是否为空,判断是否只有一个结点 2.设立快慢指针,找到中间的结点 3.设cur结点为中间结点的...
2023-10-23
0
240
题解 | #链表的回文结构#
思路 1.利用快慢指针找到中间结点 2.翻转后面部分的链表 3.判断是否为回文结构 图解 解题过程 1.先判断头结点是否为空,判断是否只有一个结点 2.通过快慢指针找到中间结点slow 3.对slow后面的链表进行翻转 4.head和slow一个从前往后,一个从后往前进行比较 5.在偶数情况...
2023-10-21
1
277
首页
上一页
1
2
下一页
末页