日常练习
文章平均质量分 61
Willing_hope
我要一往无前~
展开
-
【.cpp文件中打断点,断点失效解决方法】
断点失效解决方法原创 2022-07-15 12:19:38 · 707 阅读 · 1 评论 -
【字符串筛选--小米】
题目描述:对输入的字符串,去掉重复的字符,只保留第一次出现的字符;解题思路:整两个容器,遍历第一个容器,并判断其元素是否在第二个容器里,在的话,不作为,不在的话添加进去即可;代码:#include<iostream>#include<string>#include<vector>using namespace std;void screen(vector<char>&old, vector<char>&n原创 2020-09-16 09:51:12 · 222 阅读 · 0 评论 -
【反转链表 c++实现】
【题目描述】输入链表的头结点,反转链表后输出链表的所有元素;struct ListNode { int val; struct ListNode *next;};【解题思路】1)定义三个辅助指针和一个用于表示翻转链表头结点的指针;2)node指向当前节点、left指向当前节点的前一个节点、right指向当前节点的下一个节点、ReverseHead指向翻转链表的头结点;【】题目来源:牛客网参考博客:https://www.cnblogs.com/wanglei5205/转载 2020-09-11 19:49:38 · 701 阅读 · 0 评论 -
【STL中set怎样可以在插入时自动从大到小排序?】
map和set都是按照从小到大的顺序进行排序的,且排序好后不能轻易更改,否则会破坏组织结构;如何让其在插入过程中可以自动的变成由大到小的排序方式呢?tips:set在进行插入的时候一般会按照**<来比较关键字,所以其插入好的状态一般是从小到大;但是对于自定义类型,就需要重载<来支持这一操作;1、使用set前指定比较方式为greater**void test(){ set<int,greater<int>>S2; S2.insert(10.原创 2020-09-07 20:32:23 · 4066 阅读 · 0 评论 -
【priority_queue、stack、queue模拟实现】
1、priority_queue模拟实现(1)priority_queue.h#pragma once#include<vector>namespace pz{ template<class T,class Container = vector<T>,class Compare = less<T>> class priority_queue { public: void AdjustUp(int child)//向上调整,大堆原创 2020-08-15 10:43:04 · 145 阅读 · 0 评论 -
【list的模拟实现】
1、list的迭代器底层实现用一个类型去封装结点的指针,构成一个自定义类型,然后重载*和++等运算符,使其可以像指针一样进行使用。2、模拟实现list刚开始实现的初步工作就是实现一个双向循环链表,并且指向自己。...原创 2020-08-10 21:26:02 · 162 阅读 · 0 评论 -
【字符串相加、相乘等】
1、反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。class Solution {public: void reverseString(vector<char>& s) { int i = 0 , j = s.size()-原创 2020-08-03 16:45:54 · 370 阅读 · 0 评论 -
【MP3光标位置】c++
题目描述:MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。现在要实现通过上下键控制光标移动来浏览歌曲列表,控制逻辑如下:歌曲总数<=4的时候,不需要翻页,只是挪动光标位置。光标在第一首歌曲上时,按Up键光标挪到最后一首歌曲;光标在最后一首歌曲时,按Down键光标挪到第一首歌曲。其他情况下用户按Up键,光标挪到上一首歌曲;用户按Down键,光标挪到下一首歌曲。原创 2020-06-27 12:27:36 · 264 阅读 · 0 评论 -
【洗牌】c++
题目描述:洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起来就可以了。 例如有6张牌,最开始牌的序列是1,2,3,4,5,6。首先分成两组,左手拿着1,2原创 2020-06-27 12:22:27 · 412 阅读 · 0 评论 -
【练习2】
1、以下程序的输出结果是?#include <stdio.h> main(){char a[10]={ '1','2','3','4','5','6','7','8','9',0},*p; int i;i=8;p=a+i;printf("%s\n",p-3);}A 6B 6789C ‘6’D 789答:Bp指向9的位置以%s打印,会遇到\0结束2、以下能对二维数组a进行正确初始化的语句是()A int ta[2][]={{0,1,2},{3,4,5}};原创 2020-06-27 11:42:54 · 482 阅读 · 0 评论 -
【练习】
1、有以下程序#include#include<stdio.h>using namespace std;int main(){int m=0123, n = 123;printf("%o %o\n", m, n);return 0;}程序运行后的输出结果是:A 0123 0173B 0123 173C 123 173D 173 173答:D %o以八进制输出2、7. 关于"深拷贝",下列说法正确的是()A 会拷贝成员数据的值和会拷贝静态分配的成员对象原创 2020-06-12 16:05:01 · 1083 阅读 · 0 评论 -
【求最小公倍数】
题目描述:正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例1输入5 7输出35代码:#include<iostream>using namespace std;int gcd(int &a, int &b){ int c = 0; while (c=a%b) { a = b; b = c;原创 2020-06-12 15:20:19 · 132 阅读 · 0 评论 -
【两种排序方法】c++
题目描述:考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:“car” < “carriage” < “cats” < "doggies < “koala”2.根据字符串的长度排序。例如:“car” < “cats” < “koala” < “doggies” < “carriage”考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来原创 2020-06-12 15:17:22 · 155 阅读 · 0 评论 -
【字符串转换成整数】
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0注:1、这里输入的数字字符串可以有正负号也可以没有正负号;2、int res=res*10+str[i]-‘0’ 将字符串转化为数字atoi(c库函数):atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数。int atoi(c原创 2020-06-08 16:15:24 · 158 阅读 · 0 评论 -
【不要二】c++
题目描述:二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。输入描述:每组数组包含网格长宽W,H,用空格分割.(1 ≤ W、H ≤ 1000)输出描述:输出一个最多可以放的蛋糕数解题原创 2020-06-08 16:04:14 · 122 阅读 · 0 评论 -
练习1
1、以下程序的运行结果是() int main(void) { p rintf("%s , %5.3s\n","computer","computer"); return 0; }答:computer , com%5.3表示:5 占几个字符的宽度,3 截取几个字符即截取三个字符前面两个位用空格填补2、int *p[4] 与选择项中的 说明 () 等价A int p[4]B int *pC int *(p[4])D int (*p)[4]答:c 区分指针数组和数组指针3、下列静态原创 2020-06-06 12:03:24 · 527 阅读 · 0 评论 -
【倒置字符串】c++
题目描述:将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割解题思路:接收字符串用getline,输入字符串中有空格先用reverse函数将整个句子逆序再依次将每个单词逆序;遍历整个字符串找空格,找到一个空格用一次reverse(逆序end之前的字符串)函数将空格前原创 2020-06-06 08:44:20 · 1266 阅读 · 0 评论 -
【排序子序列】c++
题目描述:牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出2输入描述:输入的第一行为一个正整数n(1 ≤ n ≤ 10^5)第二行包括n个整数A_i(1 ≤ A_i ≤ 10^9),表示数组A的每个数字。原创 2020-06-06 08:31:58 · 276 阅读 · 0 评论 -
【数组中出现次数超过一半】c++
题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。代码:class Solution {public: int MoreThanHalfNum_Solution(vector<int> numbers) { sort(numbers.begin(), numbers.end());//时间复杂度为(oNlo原创 2020-06-06 08:00:32 · 186 阅读 · 0 评论 -
【字符串中找连续最长字符串】c++
题目描述:读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:一个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。解题思路:找一个存储结果的字符串res和一个临时存储遍历所给字符串temp遍历所给字符串,利用isdigital函数判断每一位是否为数字,是则将其存放入temp里比较temp的长度和res的长度,若temp长度大于res则更新res代码:#include<iostream&原创 2020-06-05 22:58:43 · 2573 阅读 · 0 评论 -
【删除公共字符串】c++
题目描述:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”输入描述每个测试输入包含2个字符串输出描述输出删除后的字符串解题思路:不采用暴力搜索然后删除某位置字母再进行移位;采用将目标字符串写进一个新的string对象中;1、遍历str2将其放入一个Hash表中2、建立一个新的string变量ret3、遍历str1,将不再Hash表中的字母原创 2020-05-29 19:08:04 · 406 阅读 · 0 评论 -
【组队竞赛】c++
题目描述:牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。如样例所示:如果牛牛把6个队员划分到两个原创 2020-05-25 15:52:03 · 892 阅读 · 3 评论 -
【顺时针打印矩阵】c++
题目描述:对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。给定int矩阵mat,以及它的维数nxm,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。测试样例:[[1,2],[3,4]],2,2返回:[1,2,4,3]代码:#include<iostream>#include<vector>using namespace std;class Printer {public: vector<int> cl原创 2020-05-22 09:57:13 · 230 阅读 · 0 评论 -
查找第k小数【c++】
题目描述:查找一个数组的第K小的数,注意同样大小算一样大。 如 2 1 3 4 5 2 第三小数为3。输入描述:输入有多组数据。每组输入n,然后输入n个整数(1<=n<=1000),再输入k。输出描述:输出第k小的整数。例:输入62 1 3 5 2 23输出3解题思路:1、用vector代码:#include<iostream>#include<vector>#include<algorithm>usi原创 2020-05-10 17:56:16 · 919 阅读 · 0 评论 -
马戏团【c++】
题目描述:搜狐员工小王最近利用假期在外地旅游,在某个小镇碰到一个马戏团表演,精彩的表演结束后发现团长正和大伙在帐篷前激烈讨论,小王打听了下了解到,马戏团正打算出一个新节目“最高罗汉塔”,即马戏团员叠罗汉表演。考虑到安全因素,要求叠罗汉过程中,站在某个人肩上的人应该既比自己矮又比自己瘦,或相等。团长想要本次节目中的罗汉塔叠的最高,由于人数众多,正在头疼如何安排人员的问题。小王觉得这个问题很简单,于是统计了参与最高罗汉塔表演的所有团员的身高体重,并且很快找到叠最高罗汉塔的人员序列。 现在你手上也拿到了原创 2020-05-09 10:15:11 · 691 阅读 · 0 评论 -
LCS最长公共子序列【c++】
题目描述:我们有两个字符串m和n,如果它们的子串a和b内容相同,则称a和b是m和n的公共子序列。子串中的字符不一定在原字符串中连续。例如字符串“abcfbc”和“abfcab”,其中“abc”同时出现在两个字符串中,因此“abc”是它们的公共子序列。此外,“ab”、“af”等都是它们的字串。现在给你两个任意字符串(不包含空格),请帮忙计算它们的最长公共子序列的长度输入描述:输入包含多组数据。每组数据包含两个字符串m和n,它们仅包含字母,并且长度不超过1024输出描述:对应每组输入,原创 2020-05-08 21:28:50 · 365 阅读 · 1 评论 -
【倒序字符串】c++
题目描述:对字符串中的所有单词进行倒排。说明:1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;4、每个单词最长20个字母;输入描述:输入一行以空格来分隔的句子输出描述:输出句子的逆序示例:输入I am ...原创 2020-05-05 21:23:40 · 1871 阅读 · 0 评论 -
【走迷宫】c++
题目描述:NowCoder最喜欢游乐场的迷宫游戏,他和小伙伴们比赛谁先走出迷宫。现在把迷宫的地图给你,你能帮他算出最快走出迷宫需要多少步吗?输入描述:输入包含多组数据。每组数据包含一个10*10,由“#”和“.”组成的迷宫。其中“#”代表墙;“.”代表通路。入口在第一行第二列;出口在最后一行第九列。从任意一个“.”点都能一步走到上下左右四个方向的“.”点。输出描述:对应...原创 2020-04-25 10:01:48 · 1233 阅读 · 1 评论 -
【左右最值最大值】c++
题目描述:给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0…K],右部分A[K+1…N-1],K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少?输入描述:给定整数数组A和数组的大小n,请返回题目所求的答案测试样例:[2,7,3,1,1],5返回:6解题思路:要求左半部分最大...原创 2020-04-20 17:58:00 · 303 阅读 · 0 评论 -
【解读密码】c++
题目描述:nowcoder要和朋友交流一些敏感的信息,例如他的电话号码等。因此他要对这些敏感信息进行混淆,比如在数字中间掺入一些额外的符号,让它看起来像一堆乱码。现在请你帮忙开发一款程序,解析从nowcoder那儿接收到的信息,读取出中间有用的信息。输入描述:输入有多行。每一行有一段经过加密的信息(其中可能包含空格),并且原始信息长度不确定。输出描述:输出每段信息中数字信息...原创 2020-04-13 18:51:53 · 348 阅读 · 0 评论 -
【Emacs计算器】c++
题目描述:Emacs号称神的编辑器,它自带了一个计算器。与其他计算器不同,它是基于后缀表达式的,即运算符在操作数的后面。例如“2 3 +”等价于中缀表达式的“2 + 3”。请你实现一个后缀表达式的计算器。输入描述:输入包含多组数据。每组数据包括两行:第一行是一个正整数n (3≤n≤50);紧接着第二行包含n个由数值和运算符组成的列表。“±*/”分别为加减乘除四则运算,其中除法为整...原创 2020-04-12 19:57:34 · 298 阅读 · 0 评论 -
【最长上升子序列】c++
题目描述:这里是广场上站着一支队伍,她们是来自全国各地的扭秧歌代表队,现在有她们的身高数据,请你帮忙找出身高依次递增的子序列。 例如队伍的身高数据是(1、7、3、5、9、4、8),其中依次递增的子序列有(1、7),(1、3、5、9),(1、3、4、8)等,其中最长的长度为4。链接:https://www.nowcoder.com/questionTerminal/d83721575bd441...原创 2020-04-11 18:50:22 · 305 阅读 · 0 评论 -
【发邮件】C++
题目描述:NowCoder每天要给很多人发邮件。有一天他发现发错了邮件,把发给A的邮件发给了B,把发给B的邮件发给了A。于是他就思考,要给n个人发邮件,在每个人仅收到1封邮件的情况下,有多少种情况是所有人都收到了错误的邮件?即没有人收到属于自己的邮件。输入描述:输入包含多组数据,每组数据包含一个正整数n(2≤n≤20)输出描述:对应每一组数据,输出一个正整数,表示无人收到自己...原创 2020-04-10 17:20:04 · 302 阅读 · 0 评论 -
给定三条边,请你判断一下能不能组成一个三角形【c++】
输入描述:输入包含多组数据,每组数据包含三个正整数a、b、c(1≤a, b, c≤10^100)输出描述:对应每一组数据,如果它们能组成一个三角形,则输出“Yes”;否则,输出“No”。#include<iostream>//给定三个边,求这三个边能不能围成一个三角形using namespace std;int main(){ double n, m, k; wh...原创 2019-12-08 16:59:58 · 2025 阅读 · 0 评论 -
不使用算数运算符进行加法运算【c++】
#include<iostream>//写一个函数求两整数之和,不可以用任何算数运算符using namespace std;class Solution {public: int Add(int num1, int num2) { int sum1 = 0; int sum2 = 0; while (num2!=0) { sum1 = num1^ ...原创 2019-12-08 16:57:46 · 236 阅读 · 0 评论 -
【猫装进碗里--快到碗里来】c++
题目描述:小喵们很喜欢把自己装进容器里的(例如碗),但是要是碗的周长比喵的身长还短,它们就进不去了。现在告诉你它们的身长,和碗的半径,请判断一下能否到碗里去。输入描述:输入有多组数据。每组数据包含两个整数n (1≤n≤2^128) 和r (1≤r≤2^128),分别代表喵的身长和碗的半径。圆周率使用3.14。输出描述:对应每一组数据,如果喵能装进碗里就输出“Yes”;否则输出“No...原创 2019-12-07 16:39:46 · 205 阅读 · 0 评论 -
c编程实现字符串元素左旋问题
编程实现:判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 =AABCD和s2 = BCDAA,返回1给定s1=abcd和s2=ACBD,返回0.AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAAAABCD右旋一个字符得到DAABC(char* src, char* find)//原字符串和比较字符串{ char tmp[256] = { ...原创 2019-05-25 11:13:26 · 108 阅读 · 0 评论 -
扫雷游戏
**扫雷游戏** 利用c语言完成扫雷游戏#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <time.h>#define MAX_ROW 9#def...原创 2019-05-29 20:18:05 · 121 阅读 · 0 评论 -
三子棋
**利用c语言实现三子棋游戏**#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int Menu(){ printf("=============\n"); printf("1.开始游戏\n"); printf("0....原创 2019-05-29 20:19:45 · 118 阅读 · 0 评论 -
有规律的打印星星
在屏幕上输出以下图案:* *** ***** ******* ********* *********** ************* *********** ********* ******* ***** *** * ``#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <std...原创 2019-05-29 20:25:50 · 270 阅读 · 0 评论