![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
Wade_Gao
这个作者很懒,什么都没留下…
展开
-
LeetCode-224: 基本计算器
一、题目描述二、解题思路将中缀表达式转换为后缀表达式。三、解题代码class Solution{private: static unordered_map<char, int> icp, isp; stack<char> stk; string src; string sln; void Back(); int calc(int tmp1, char oper, int tmp2);public: int ca原创 2020-07-07 19:30:16 · 147 阅读 · 0 评论 -
浙大版《数据结构(第2版)》题目集5.13 词频统计 (30分)
请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词。所谓“单词”,是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留前15个单词字符。而合法的“单词字符”为大小写字母、数字和下划线,其它字符均认为是单词分隔符。输入格式:输入给出一段非空文本,最后以符号#结尾。输入保证存在至少10个不同的单词。输出格式:在第一行中输出文本中所有不同单词的个数。注意“单词”不区分英文大小写,例如“PAT”和“pat”被认为是同一个单词。随后按照词频递减的顺原创 2020-06-24 22:18:28 · 600 阅读 · 0 评论 -
LeetCode-696:计数二进制子串
一、题目描述二、解题思路找每次连续的1或者0的个数,存入vector,之后每次选取紧邻着的两个中较小的那个相加给res比如:100011111001110,得到vector = {1, 3, 5, 2, 3, 1},所以res = 1 + 3 + 2 + 2 + 1三、解题代码class Solution {public: int countBinarySubstrings(string s) { int l = 0, r = 0; int a[2];原创 2020-05-21 00:31:05 · 150 阅读 · 0 评论 -
LeetCode-1048:最长字符串链
一、题目描述二、解题思路这个提示很重要,它限定了字符串的最大长度题目里并没有说字符串的长度是递增的,有可能是乱序长度排列的,而我的一次错误提交也证实了这一猜想。那么首先我们应该将字符串按照长度进行聚类,注意这里会用到1 <= words[i].length <= 16这个条件。可以建立起vector<vector<int>> LenDic(17)然后,此题是动态规划类型的题目,那么如何进行动态规划呢?确定dp数组,明确数组值的含义dp[i]表示以wor原创 2020-05-16 00:07:01 · 181 阅读 · 0 评论 -
LeetCode-297: 二叉树的序列化与反序列化
class Codec{public: // Encodes a tree to a single string. string serialize(TreeNode *root) { if (!root) return ""; vector<TreeNode *> vec; string ret = "["; queue<TreeNode *> que; .原创 2020-05-14 11:26:03 · 153 阅读 · 0 评论 -
LeetCode-648:单词替换
一、题目描述二、解题思路用双指针法切割字符串,得到每一个单词,然后开始遍历字典首先判断单词首字母和字典当前元素的首字母是否相等,相等继续进行下一步,否则肯定不是判断当前单词的前缀是否等于字典当前元素如果以上两个条件都满足,就把单词替换成词根,注意这个动作完成后不能直接break因为有可能存在继承词有许多可以形成词根的情况,我们需要找到最短的,比如:["catt","cat","bat...原创 2020-05-07 16:03:50 · 349 阅读 · 0 评论 -
LeetCode-面试题01.04:回文排列
一、题目描述二、解题思路就是用一个Hash表存储字符串中出现过的字符,待字符串遍历完成后,再遍历一遍Hash表,如果出现次数为奇数的字母超过1个,就不可能重组为回文串,否则就可以重组为回文串。三、解题代码class Solution {public: bool canPermutePalindrome(string s) { vector<int> ...原创 2020-05-07 15:43:31 · 143 阅读 · 0 评论 -
LeetCode-609: 在系统中查找重复文件
First: Problem’s DescriptionSecond: Problem’s SolutionWe can useclass Solution {private: pair<string, string> CreateDocPair(string str, string rootPath){ int prior = 0; ...原创 2020-05-02 00:47:31 · 144 阅读 · 0 评论 -
LeetCode-6:Z 字形变换
一、题目描述二、解题思路首先,定义一个矩阵,这个矩阵保存每个像素需要知道矩阵的行列,行就是传入的参数了,没什么可说的,关键是怎么求出列的数值以numRows = 3为例,观察发现,当列的值为0、2、4、6…时,该列就全满以numRows = 5为例,观察发现,当列的值为0、4、8、12…时,该列就全满设当前列值为column,可以看出规律为当column % (numRows -...原创 2020-04-12 01:36:39 · 83 阅读 · 0 评论 -
华为研发工程师编程题:十六进制转换十进制
一、题目描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )二、解题思路逐个读取字符串的字符,进行变换#include <iostream>#include <string>#include <vector>using namespace std;void sln(string str){ auto l...原创 2020-04-07 18:29:12 · 450 阅读 · 0 评论 -
Huawei:反转句子单词
一、问题描述二、解题思路很明显,用到栈来保存单词,用双指针解决。首先去掉字符串的前导空格从头到尾扫描字符串,以空格来区分不同的单词每次找到一个单词后,将一个空格压入栈内扫描得到一个单词后,将快指针作为新的起点,令慢指针指向和快指针相等的位置,即令慢指针作为新的起点,重复操作上述过程,直到结束三、解题代码#include <iostream>#include <...原创 2020-04-05 22:22:02 · 149 阅读 · 0 评论