字符 字符串offer 48

剑指 Offer 36. 二叉搜索树与双向链表

题目链接:剑指 Offer 36. 二叉搜索树与双向链表 方法一:回溯 解题思路 {:width=1000} 代码 class Solution { private: int mx = INT_MIN, mi = INT_MAX; Node* start = NULL, * end = NULL; ......
双向 Offer 36

1625. 执行操作后字典序最小的字符串

题目链接:1625. 执行操作后字典序最小的字符串 方法:bfs暴力搜索 解题思路 初始化队列$q$,若$q$不为空,取队首字符串和$ans$进行比较,取其中字典序小的字符串,然后队首字符串对于两种操作可以生成两个字符串,将其中未出现过(即未遍历过)的字符串加入$q$中,继续循环,直到队列为空,返回 ......
字符串 字典 字符 1625

1616. 分割两个字符串得到回文串

题目链接:1616. 分割两个字符串得到回文串 方法:模拟 + 双指针 解题思路 题目要求,找一个合适的下标 $idx$ 将 $a$ 分割为 $a[0, idx]$ 和 $a[idx + 1, n - 1]$,同样的 $b$ 分割为 $b[0, idx]$ 和 $b[idx + 1, n - 1]$ ......
回文 字符串 字符 两个 1616

剑指 Offer 33. 二叉搜索树的后序遍历序列

题目链接:剑指 Offer 33. 二叉搜索树的后序遍历序列 方法:分治 解题思路 首先假设该序列能够构成某个二叉搜索树的后序遍历序列,那么这个序列会被分成3个部分:左子树序列,右子树序列,父节点,其中左右子树节点数可能为0; 现在就可以检查该序列是否符合这个规律,然后递归的判断子树是否符合规律。 ......
序列 Offer 33

C语言字符串的使用

做题常常遇到和字符串相关的,发现自己对《字符串》和《字符数组》有误会,因为他们的声明太像了,我会搞混。于是我在DevC++上尝试了9种不同的声明方式,想看看什么时候才算是有效的字符串声明,都是我当前水平可能遇到的。 #include <stdio.h> #include <string.h> /* ......
字符串 字符 语言

剑指 Offer 51. 数组中的逆序对

题目链接:剑指 Offer 51. 数组中的逆序对 方法一:归并排序 解题思路 逆序对:即后面的数大于前面的数; 归并排序: 先分,在此过程中会先递归的将序列分为一段一段序列,并且每段序列之间的先后顺序是不变的。 再治,也即归并,归并的过程中会将两段序列进行比较$(A,B,B在A的后面)$,当出现$ ......
逆序 数组 Offer 51

剑指 Offer 20. 表示数值的字符串

题目链接:剑指 Offer 20. 表示数值的字符串 方法:模拟 解题思路 根据题意模拟,详情见代码注释。 代码 class Solution { public: bool isDecimal(string s){ int first_symbol = s.find_first_of('.'); / ......
字符串 数值 字符 Offer 20

剑指 Offer 47. 礼物的最大价值

题目链接:剑指 Offer 47. 礼物的最大价值 方法:动态规划 解题思路 $当前位置的最大价值 = max(上方格子的最大价值,左边格子的最大价值) + 当前位置的价值$,即局部最优可以推出全局最优,简单递推即可。 代码 class Solution { public: int maxValue ......
礼物 价值 Offer 47

misc | 解决windows cmd不能正确显示\033彩色字符

misc | 解决windows cmd不能正确显示\033彩色字符 今天重装winpwn结果显示的是乱码,很影响,搜了一下发现可以安装一个工具来解决。 参考:https://www.cnblogs.com/naiij/p/9772584.html 工具:https://github.com/ado ......
字符 彩色 windows misc cmd

字符串链接

代码参考: use ddbb go DECLARE @PwNoLinkStr VARCHAR(1000) SELECT @PwNoLinkStr = ISNULL(@PwNoLinkStr+',','')+PwNo FROM DaFen; print @PwNoLinkStr ......
字符串 字符 链接

HJ45_名字的漂亮度_贪心(字符串字符次数排序)_附:字典排序

思路: 每个字母都有一个漂亮度1-26。每个字母漂亮度不相同忽略大小写,字符串漂亮度是字母漂亮度总和。取次数最多的字符漂亮度最大,其他依次次大。 #贪心。先排序从大到小,后计算整体漂亮度。从局部最优到整体最优,为贪心算法。 代码: 1 from collections import Counter ......
字符 字符串 亮度 字典 次数

1653. 使字符串平衡的最少删除次数

题目链接:1653. 使字符串平衡的最少删除次数 方法:动态规划 解题思路 对于字符串$s$,设使得字符串$s[0, i]$平衡的最小删除次数为$dp[i]$。 若$s[0, n - 2]$为平衡字符串,当$s[n-1]==b$时,则$dp[n-1] = dp[n-2]$;当$s[n-1]==a$时 ......
字符串 字符 次数 1653

面试题 05.02. 二进制数转字符串

题目链接:面试题 05.02. 二进制数转字符串 方法:找规律 解题思路 (1)题目要求:将一个$0-1$之间的实数通过二进制进行表示,并通过字符串形式输出。 (2)由于二进制的小数只能表示$\frac{1}{2} \frac{1}{4} \frac{1}{8} ... \frac{1}{2^n}$ ......
二进制 字符串 字符 05 02

HJ52_计算字符串的编辑距离_动态规划_动态规划可视化

思路: 该题目符合最优解拥有最优子解,符合动态规划算法要求. 2 思路:操作方法有3种,替换、插入、删除。把a字符串编辑成b字符串的距离。 3 假设空字符串开始编辑作为bottom 边界。 4 a字符串作为深度,b作为宽度。 5 沿宽度遍历为add,沿深度遍历为delete,斜角为change 6 ......
动态 字符串 字符 HJ 52

剑指 Offer 19. 正则表达式匹配

题目链接:剑指 Offer 19. 正则表达式匹配 方法:动态规划 解题思路 详情见:逐行详细讲解,由浅入深,dp和递归两种思路 代码 class Solution { public: bool isMatch(string s, string p) { int n = s.size(), m = ......
正则 表达式 Offer 19

1247. 交换字符使得字符串相同

题目链接:[1247. 交换字符使得字符串相同] 方法:找规律 解题思路 由于只能两个字符串之间交换字符,单个字符串内不允许交换,因此如果只有一个字符对不相同,那么一定无法通过交换变为相同字符串,同理当不相同的字符对为奇数时,也无法通过交换变为相同字符。 当不相同的字符对数为偶数时,现在考虑以下几种 ......
字符 字符串 1247

Python 进阶指南(编程轻松进阶):十一、注释、文档字符串和类型提示

原文:http://inventwithpython.com/beyond/chapter11.html 源代码中的注释和文档可能和代码一样重要。原因是软件是永远不会完成的;无论是添加新功能还是修复错误,您总是需要做出改变。但是你不能改变代码,除非你理解它,所以保持它可读是很重要的。正如计算机科学家 ......
字符串 注释 字符 类型 文档

HJ71_字符串通配符_多维递归

思路:1、对比字符最后一个,对比字符倒数第二个,一致对比到最后一个,如此递归。 2、该题符合多维递归,回溯判断。 遇到“*”通配符时,列举三种不同参数传递的递归情况,分叉递归以达到穷举的效果。(回溯) 3、结束条件:两字符串均为空,不计算“*”字符 具体,如代码所示。 #*只能匹配数字或字母0个或无 ......
通配符 字符串 字符 HJ 71

Leetcode(剑指offer专项训练)——DFS/BFS专项(1)

计算除法 题目 给定一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数 ......
专项 Leetcode offer DFS BFS

判断字符串是不是正则表达式

:rules="[ { required: true, trigger: 'blur', validator: this.checkCanonical }, ]" checkCanonical (rule, value, callback) { if (value) { let isReg = tr ......
正则 表达式 字符串 字符

JavaScript 有效的字符串方法

本文内容部分截取自该网站,不同部分则为本人笔记。 获得字符串的长度 let browserType = 'mozilla'; browserType.length; 用处 检索特定字符串字符 // 检索字符串最后一个字符 browserType[browserType.length-1]; 在字符串 ......
字符串 JavaScript 字符 方法

剑指offer66(Java)-构建乘积数组(中等)

题目: 给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 示例: 输入: [1,2,3,4,5]输出: ......
乘积 数组 offer Java 66

vs调试“字符串中字符无效”处理办法

在使用VS2019调试代码时,查看变量值时,utf8格式字符串不能正常显示,需要在变量名后手动添加",s8",就能正常查看字符啦。 总结如下: ,s8:将字符串转成unicode展示 ,数字 将变量拆分为数组显示, 数字是要显示多少位, 此法对const char*这类原始字符串非常有用 ,x 16 ......
字符 字符串 办法

剑指offer03(Java)-数组中重复的数字(简单)

题目: 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限 ......
数组 数字 offer Java 03

C#判断字符串是否是有效的XML格式数据

说明 在try-catch语句块中,创建XmlDocument对象,并使用LoadXml方法加载xml字符串。如果没有异常,则说明xml字符串是有效的,返回true,反之为false。 代码实现 /// <summary> /// Xml字符串格式验证 /// </summary> /// <par ......
字符串 字符 格式 数据 XML

KMP 字符串

KMP 题目描述 给定一个字符串 $S$,以及一个模式串 $P$,所有字符串中只包含大小写英文字母以及阿拉伯数字。 模式串 $P$ 在字符串 $S$ 中多次作为子串出现。 求出模式串 $P$ 在字符串 $S$ 中所有出现的位置的起始下标。 输入第一行输入整数 $N$,表示字符串 $P$ 的长度。 第 ......
字符串 字符 KMP

力扣---剑指 Offer 07. 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,nul ......
Offer 07

1234. 替换子串得到平衡字符串

题目链接:1234. 替换子串得到平衡字符串 方法:同向双指针 解题思路 若可以通过「替换一个子串」的方式,使原字符串 s 变成一个「平衡字符串」,则说明子串外任意字符的数量 $s ≤ n / 4$,否则一旦有一个字符的数量大于 $n / 4$,那么不论如何替换,必定有另一个字符的数量小于 $n / ......
字符串 字符 1234

剑指 Offer 16. 数值的整数次方

题解链接:剑指 Offer 16. 数值的整数次方 方法一:迭代实现快速幂 解题思路 通过迭代的方法,自下向上实现快速幂求解过程,初始化结果 $res = 1$,底数 $t = x$ ,幂次为 $n$。当 $n$ 为奇数时,$res = res * t$,先乘上一个 $t$,此时还有 $n-1$ 个 ......
整数 数值 Offer 16

剑指 Offer 15. 二进制中1的个数

题目链接:剑指 Offer 15. 二进制中1的个数 方法一:位运算 解题思路 x = n & -n,$x$ 表示 $n$ 的最后一位 $1$ 所对应的值,每减去一次 $x$,相当于有一个 $1$,$res ++$ 。 代码 class Solution { public: int hammingW ......
二进制 个数 Offer 15