mmxingye

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

随笔分类 -  算法

18 | C++表达式计算
摘要:最初想要在 C++ 中找到 类似 python 中 eval 的实现,但是找了好久都没有找到,即 将字符串转换成表达式进行求值 的愿望终究还是没有实现。但是如果字符串是简单的 算术表达式的话,还是可以做的。 下面就来分享大佬的代码,已经忘记在哪里找到的了。 // CPP program to eva 阅读全文

posted @ 2023-04-26 11:26 独立树 阅读(114) 评论(0) 推荐(0) 编辑

17 | 说过这句话吗?说过几次?(哈希表->字典树)
摘要:题目描述 三年级二班已经完成了竞选班长的投票,已知一共有n张投票,每张投票上写了一位同学的名字。 投票统计结束后,张老师随意问一个同学的名字,请编程快速检索出,该同学共有几票。 输入 第一行读入一个整数n,代表产生了n张投票;(n≤105) 接下来n行,每行有一个字符串s,代表该张投票上写的同学的姓 阅读全文

posted @ 2022-06-20 15:11 独立树 阅读(82) 评论(0) 推荐(0) 编辑

16 | KMP 算法的典型应用(匹配位置、求出所有相同前缀后缀、最多字串重复次数)
摘要:记忆两段代码(注意字符串从下标为 1 开始存储) 求 解 next 数组的代码 // 计算字符串 p 的next 值 for(int i=1,j=0;i<lenp;i++){ while(j&&p[i+1]!=p[j+1]) j=ne[j]; if(p[i+1]==p[j+1]) j++; ne[i 阅读全文

posted @ 2022-06-17 19:39 独立树 阅读(233) 评论(0) 推荐(1) 编辑

15 | 哈希表(链表前向性,数组实现邻接表)
摘要:哈希表 哈希表原理 使用数组下标直接标记元素 哈希表(也叫散列表):是一种高效的、通过把关键码值映射到表中一个位置来访问记录的数据结构。 类似字符串,查找的时间复杂度是常数时间,缺点是,需要消耗更多的内存。 现在要存储和使用下面的线性表: A(12, 83,284, 49, 183, 13491, 阅读全文

posted @ 2022-06-17 17:25 独立树 阅读(253) 评论(0) 推荐(0) 编辑

14 | 字符串前后缀相等(字符串哈希巩固练习)
摘要:题目描述 给定若干由小写字母组成的字符串(这些字符串总长 ≤4×105),在每个字符串中求出所有既是前缀又是后缀的子串长度。 例如:ababcababababcabab,既是前缀又是后缀的:ab,abab,ababcabab,ababcababababcabab。 输入 输入若干行,每行一个字符串。 阅读全文

posted @ 2022-06-17 16:28 独立树 阅读(261) 评论(0) 推荐(0) 编辑

13 | 字符串哈希(字符串的哈希判等、前缀和的思想)
摘要:题目描述 给定一个含有 26 个小写英文字母的字符串。有m次询问,每次给出2个区间,请问这两个区间里的子字符串是否一样? 输入 第一行输入一个字符串 S。 第二行一个数字 m,表示 m 次询问。 接下来 m 行,每行四个数字 l1,r1,l2,r2,分别表示此次询问的两个区间,注意字符串的位置从1开 阅读全文

posted @ 2022-06-16 08:50 独立树 阅读(298) 评论(0) 推荐(0) 编辑

12 | "我是第几个单词"(基础)
摘要:题目描述 输入一个英文句子,例如:“This is a Book.",可以看到句子是以“.”来作为结束符号的,并且单词之间以一个空格来分隔。接着再输入一个单词A,请找出首次在句子中出现的与A相同的单词,是句子中的第几个单词,若不存在,则输出该句子中单词字符的总个数。 例如对上句子而言,若输入单词“i 阅读全文

posted @ 2022-06-13 20:21 独立树 阅读(743) 评论(0) 推荐(0) 编辑

11 | 求英文句子中的最长单词(基础)
摘要:题目描述 一个英文句子(长度不超过255),只含有字母和空格,输出最长的一个单词。如有多个长度相同的单词,则输出最前面的一个。 输入 一个字符串。 输出 一个字符串。 样例 输入 in which four coins 输出 which #include <bits/stdc++.h> using 阅读全文

posted @ 2022-06-11 20:37 独立树 阅读(918) 评论(0) 推荐(0) 编辑

10 | 字符串压缩(基础)
摘要:题目描述 输入字符串,输出压缩后的字符串。压缩的方法是把连续的相同字母压缩为"长度+字母"的形式,在本题中,单个的字母不需要压缩。 输入 一行,一个字符串,只包含小写英文字母,长度不超过255。 输出 样例 输入 aaabbbbbx 输出 3a5bx #include <bits/stdc++.h> 阅读全文

posted @ 2022-06-11 20:10 独立树 阅读(447) 评论(0) 推荐(0) 编辑

09 | 词组缩写问题求解
摘要:题目描述 定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。 比如,C语言里常用的EOF就是end of file的缩写。 输入 测试数据占一行,有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成; 单词长度不超过10,由一个或多个 阅读全文

posted @ 2022-06-09 19:01 独立树 阅读(241) 评论(0) 推荐(0) 编辑

07 | 函数应用-回文数个数问题求解
摘要:题目描述 一个正整数,正读和反读都相同的数为回文数。例如22,131,2442,37073,6,…所有1位数都是回文数。给出一个正整数n(1≤n≤10000),求出1,2,…,n之中(包括1和n)的回文数的个数。 输入 任意给定一个正整数n(0 < n ⇐ 10000 ) 输出 一个正整数,表示[1 阅读全文

posted @ 2022-06-09 19:00 独立树 阅读(413) 评论(0) 推荐(0) 编辑

08 | 函数应用-哥德巴赫猜想问题求解
摘要:题目描述 任一个大于等于4的偶数都可以拆分为两个素数之和。 (5.1.40) 输入 一个整数n( 4 ⇐ n ⇐ 200 ) 输出 将小于等于n的偶数拆分为2个质数之和,列出所有方案! 样例 输入 10 输出 4=2+2 6=3+3 8=3+5 10=3+7 10=5+5 #include <bit 阅读全文

posted @ 2022-06-09 19:00 独立树 阅读(149) 评论(0) 推荐(0) 编辑

05| 数组存储运算结果:去除重复的数字
摘要:题目描述 给你N个数(n≤100),每个数都在(0~1000)之间,其中由很多重复的数字,请将重复的数字只保留一个,并将剩下的数由小到大排序并输出。 输入 输入有2行, 第1行为1个正整数,表示数的个数:N 第2行有N个用空格隔开的整数。 输出 第1行为1个正整数M,表示不相同数的个数。 接下来的M 阅读全文

posted @ 2022-06-09 18:59 独立树 阅读(435) 评论(0) 推荐(0) 编辑

06 | sqrt应用-求因子和
摘要:题目描述 已知一个正整数N(20 ⇐ N ⇐ 800000000),请你编写程序求出该数的全部因子(不包括1和n)的和。 输入 一个正整数n。 输出 一个整数代表n的因子和。 样例 输入复制 24 输出复制 35 #include <bits/stdc++.h> using namespace st 阅读全文

posted @ 2022-06-09 18:59 独立树 阅读(152) 评论(0) 推荐(0) 编辑

04 | 数组存储运算结果:COUNT问题
摘要:题目描述 一本书的页数为N,页码从1开始编起,请你求出全部页码中,用了多少个0,1,2……9。 输入 一个正整数N(N<=10000),表示总的页码。 输出 共十行:第k行为数字k-1的个数。 样例 输入 11 输出 1 4 1 1 1 1 1 1 1 1 #include <iostream> u 阅读全文

posted @ 2022-06-09 18:57 独立树 阅读(40) 评论(0) 推荐(0) 编辑

03 | 桶排序和归并排序
摘要:分治算法 概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题.....直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。 步骤 分治法在每-层递归上都有三个步骤: 分解:将原问 阅读全文

posted @ 2022-04-12 20:49 独立树 阅读(71) 评论(0) 推荐(0) 编辑

02 | 最短路径
摘要:最短路径 Floyed算法 解决的问题 求解任意两点之间的最短路径 可以处理带有负权边的图, 但不能处理带有“负环”的图 思想 对于要求解的两个点,我们给定任意一个点作为中间点,经过中间点的路径有没有可能比直接到达更短? 动态规划的思想 时间复杂度 一个小例子 #include <cstdio> # 阅读全文

posted @ 2022-04-08 23:07 独立树 阅读(34) 评论(0) 推荐(0) 编辑

01 | 并查集
摘要:并查集 并查集是一种树形数据结构,用于处理一些不相交集合的合并及查询问题。 常见的用途有求连通子图、求最小生成树的Kruskal算法和求最近公共祖先(LCA)等。 创建并查集只需要三个步骤。 算法步骤 初始化。把每个点所在集合初始化为其自身。 查找。查找两个元素所在的集合,即找祖宗。 合并。如果两个 阅读全文

posted @ 2022-04-08 11:11 独立树 阅读(72) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示