![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
每日练习
每日习题
4nc414g0n
这个作者很懒,什么都没留下…
展开
-
有效三角形的个数 (双指针(逆向扫描)+二分)
有效三角形的个数这里是引用原创 2022-04-20 13:48:34 · 295 阅读 · 0 评论 -
走迷宫(BFS)
走迷宫题目链接题目描述:NowCoder最喜欢游乐场的迷宫游戏,他和小伙伴们比赛谁先走出迷宫。现在把迷宫的地图给你,你能帮他算出最快走出迷宫需要多少步吗?输入包含多组数据。每组数据包含一个10*10,由“#”和“.”组成的迷宫。其中“#”代表墙;“.”代表通路。入口在第一行第二列;出口在最后一行第九列。从任意一个“.”点都能一步走到上下左右四个方向的“.”点。输入:#.#########…##…##…##…##…##…##…##…#########.#输出:16原创 2022-04-15 23:04:40 · 2177 阅读 · 0 评论 -
只出现一次的数字 III(位操作)
只出现一次的数字 III题目链接题目描述:给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?方法1:哈希思路:建立一个数字用来映射次数遍历拿出次数次数为1的方法2:位操作思路:用0把数组里所有的数字亦或一遍得到ret取得ret的二进制位从右到左第一个1的位置pos(表示两个只出现一次的数在这个位不一样,分别原创 2021-11-18 18:55:46 · 189 阅读 · 0 评论 -
只出现一次的数字 II(哈希、位操作、逻辑电路、有限状态自动机)
只出现一次的数字 II题目链接题目描述:给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素方法1:哈希思路:建立一个数字用来映射次数遍历拿出次数次数为1的方法2:位操作思路:以[2,2,3,2]为例:由于其他数都是3个,把每个数的每个位二进制的之和填入32个元素的数组遍历%3,得到的就是那个数代码如下:class Solution {public: int singleNumbe原创 2022-04-15 16:05:13 · 55 阅读 · 0 评论 -
电话号码的字母组合(dfs回溯、队列)
题目链接:电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。...原创 2021-11-18 19:46:09 · 193 阅读 · 0 评论 -
最长公共子序列(一)(动规)
最长公共子序列(一)题目链接题目描述:给定两个字符串 s1 和 s2,长度为m和n 。求两个字符串最长公共子序列的长度。所谓子序列,指一个字符串删掉部分字符(也可以不删)形成的字符串。例如:字符串 “arcaea” 的子序列有 “ara” “rcaa” 等。但 “car” “aaae” 则不是它的子序列。所谓 s1 和 s2 的最长公共子序列,即一个最长的字符串,它既是 s1 的子序列,也是 s2 的子序列。数据范围 : 0\leq m,n\leq 10000≤m,n≤1000 。保证字符原创 2022-04-15 16:01:38 · 207 阅读 · 0 评论 -
发邮件(错排问题dp)
发邮件(错排问题)题目链接题目描述:NowCoder每天要给很多人发邮件。有一天他发现发错了邮件,把发给A的邮件发给了B,把发给B的邮件发给了A。于是他就思考,要给n个人发邮件,在每个人仅收到1封邮件的情况下,有多少种情况是所有人都收到了错误的邮件?即没有人收到属于自己的邮件输入:23输出:12思路:DFS方法超时int N=0;void dfs(int,int);int book[100]={0};int main(){ int n; scanf("%原创 2022-04-11 23:28:17 · 350 阅读 · 0 评论 -
蘑菇阵(动规)
蘑菇阵题目链接题目描述:现在有两个好友A和B,住在一片长有蘑菇的由n*m个方格组成的草地,A在(1,1),B在(n,m)。现在A想要拜访B,由于她只想去B的家,所以每次她只会走(i,j+1)或(i+1,j)这样的路线,在草地上有k个蘑菇种在格子里(多个蘑菇可能在同一方格),问:A如果每一步随机选择的话(若她在边界上,则只有一种选择),那么她不碰到蘑菇走到B的家的概率是多少输入:第一行N,M,K(1 ≤ N,M ≤ 20, k ≤ 100),N,M为草地大小,接下来K行,每行两个整数x,y,代表(原创 2022-04-15 15:59:33 · 84 阅读 · 0 评论 -
最长上升子序列(二)(贪心+二分)
每日一题 题目字符串计数n最长上升子序列(二)字符串计数题目链接题目描述:求字典序在 s1 和 s2 之间的,长度在 len1 到 len2 的字符串的个数,结果 mod 1000007。数据范围:s1(长度小于50),s2(长度小于50),len1(小于50),len2(大于len1,小于50) 注意:本题有多组输入输入:每组数据包涵s1(长度小于50),s2(长度小于50),len1(小于50),len2(大于len1,小于50)ab ce 1 2输出:56思路:由于由题意得原创 2022-04-15 15:57:53 · 265 阅读 · 0 评论 -
字符串计数(转换为进制)
字符串计数题目链接题目描述:求字典序在 s1 和 s2 之间的,长度在 len1 到 len2 的字符串的个数,结果 mod 1000007。数据范围:s1(长度小于50),s2(长度小于50),len1(小于50),len2(大于len1,小于50) 注意:本题有多组输入输入:每组数据包涵s1(长度小于50),s2(长度小于50),len1(小于50),len2(大于len1,小于50)ab ce 1 2输出:56思路:由于由题意得出为小写字母a~z,共26位,可以将其看作26进原创 2022-04-15 15:57:07 · 155 阅读 · 0 评论 -
逆波兰表达式
Emacs计算器题目链接题目描述:Emacs号称神的编辑器,它自带了一个计算器。与其他计算器不同,它是基于后缀表达式的,即运算符在操作数的后面。例如“2 3 +”等价于中缀表达式的“2 + 3”。请你实现一个后缀表达式的计算器输入:32 3 +52 2 + 3 *52 2 3 + *输出:51210思路:遇到数字入栈,遇到操作符从栈中取两个操作数,运算,再压入栈,最后取栈底注意:可以使用:map<string, std::function<int(int原创 2022-04-15 15:55:46 · 88 阅读 · 0 评论