笔试面试题
文章平均质量分 88
刷题
RONGYI AINI
不摆不摆
展开
-
mp3的光标位置
#include <iostream>#include <vector>#include <string>using namespace std;/*思路: 将显示的4个歌放到一个数组(show)中;起始时,show中显示前四首歌(1,2,3,4); 先判断需不需要翻页, 翻页情况1: 从第一个翻到最后一个,光标指向最后一个 显示的...原创 2019-11-30 00:32:45 · 117 阅读 · 0 评论 -
参数解析
在命令行输入如下命令:xcopy /s c:\ d:\,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:\参数4: 字符串d:\请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用“”包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\program files” “d...原创 2019-11-21 00:58:31 · 361 阅读 · 0 评论 -
查找组成一个偶数最接近的两个素数
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对#include <iostream>using namespace std;/*思路: 先写一个判断素数的函数,然后输入的值除2,如果得到的值(half)是一个素数,直接输出两此这个值就可以 如果不是一个素数,让两个数都等于这个数(half);...原创 2019-11-19 16:59:34 · 153 阅读 · 0 评论 -
最近公共祖先
有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b。请设计一个算法,求出a和b点的最近公共祖先的编号。给定两个int a,b。为给定结点的编号。请返回a和b的最近公共祖先的编号。注意这里结点本身也可认为是其祖先。#include <iostream>using namespace std;/*思路: 由题意可知, 子节点/2...原创 2019-11-18 01:09:19 · 96 阅读 · 0 评论 -
判断最大连续数
功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1输入: 一个byte型的数字输出: 无返回: 对应的二进制数字中1的最大连续数#include <iostream>using namespace std;/*思路: 要判断一个数的对应二进制数字中1的连续个数,我们可以把这个数的二进制数看成一个数组 通过 x...原创 2019-11-18 01:04:23 · 246 阅读 · 0 评论 -
日常练习__打印100到200之间的素数
素数就是质数,首先我们也要知道什么是素数。素数的定义:只有1和它本身两个因数的自然数。为了简化程序,我们需要知道这样一个知识点如果N是合数,则一定存在大于1小于N的整数d1和d2,使得N=d1×d2。如果d1和d2均大于√N,则有:N=d1×d2>√N×√N=N。而这是不可能的,所以,d1和d2中必有一个小于或等于√N这时我们又需要知道sqrt函数(求根函数)。为了我们能够使用...原创 2019-03-15 13:51:56 · 217 阅读 · 0 评论 -
转换大小写字母__0330
思路分析:首先用getchar()函数获得字符,然后判断字符为大写还是小写,如果是大写字母就转换为小写,如果是小写字母就转换为大写;如果输入的是数字就不输出;定义一个终止符,输入终止符就退出循环;最后附上代码`#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int mai...原创 2019-03-30 12:46:32 · 207 阅读 · 0 评论 -
递归数列的练习
1.递归和非递归分别实现求第n个斐波那契数。非递归#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main() { int n; printf("请输入你要求的是第几个数:"); scanf("%d", &n); int* arr = (int *)mall...原创 2019-04-06 14:03:46 · 453 阅读 · 0 评论 -
//杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
#include<stdio.h>#include<stdlib.h>int main() { int arr[][3] = { 1,2,3,4,5,6,7,8,9 }; int i = 0, j = 2; int n = 6; while (1) { if (arr[i][j] == n) { printf("找到了\n"); break;...原创 2019-04-20 20:07:32 · 101 阅读 · 0 评论 -
一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)
#include<stdio.h>#include<stdlib.h>int main(){ //数组第一个和第二个按位异或 //如果俩数相同 按位异或为0 int arr[] = { 1, 1, 2, 3, 4, 5, 6, 7, 8, 5, 4, 3, 2, 6, 7 }; int num = sizeof(arr) / sizeof(arr[0])...原创 2019-04-19 23:03:28 · 91 阅读 · 0 评论 -
创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
思路分析:1.创建函数init()时,由用户输入元素个数和元素内容,需要创建一个未知大小的数组,int *arr = (int *)malloc(sizeof (int) * n); // 申请一个大小为n的int数组创建好了由用户输入个数和内容2.empty()把数组中的每一项的值变为0.3.reverse()数组中的元素逆置,第一项和最后一项交换数值,第二项和倒数第二项交换数...原创 2019-04-02 16:21:58 · 223 阅读 · 0 评论 -
例如输入: i am a student; 输出: student; a am i
#include <iostream>#include <string>using namespace std;/*翻转句子: 例如输入: i am a student; 输出: student; a am i*/class Solution {public: string ReverseSentence(string str) { int t...原创 2019-11-08 22:46:05 · 975 阅读 · 0 评论 -
输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。
#include<stdio.h>#include<stdlib.h>void Sort(int* arr,int n) { int i = 0, j = n-1; int tmp; while (1) { while (arr[i] % 2) { i++; } while (arr[j] % 2 == 0) { j--; } if...原创 2019-04-20 20:08:01 · 257 阅读 · 0 评论 -
排序子序列
牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出2#include <iostream>#in...原创 2019-11-08 22:48:13 · 616 阅读 · 1 评论 -
组队(贪心算法)
#include <iostream>#include <vector>#include <algorithm> //算法头文件using namespace std;/*链接:https://www.nowcoder.com/questionTerminal/248ccf8b479c49a98790db17251e39bb来源:牛客网牛牛举办了...原创 2019-11-08 22:49:31 · 917 阅读 · 0 评论 -
字符串转换为数字
#include <iostream>#include <string>using namespace std;/*思路: 首先看字符串第一位是不是'-'或者'+';如果是'-'最后结果乘以一个-1;如果是'+'最后结果乘以一个1; 然后遍历字符串,发现字符直接返回0;是数字,将其转换为int类型;字符类型的数字转换为整数类型的数字需要 -48; 转换为数...原创 2019-11-12 00:33:57 · 2536 阅读 · 0 评论 -
翻转字符串里的单词
#include<stdio.h>#include<stdlib.h>//给定一个字符串,逐个翻转字符串中的每个单词。//示例 1://输入 : "the sky is blue"// 输出 : "blue is sky the"// 示例 2:// 输入 : " hello world! "// 输出 : "world! hell...原创 2019-09-06 21:12:38 · 66 阅读 · 0 评论 -
判断一个数最少需要多少此++或者--能够成为Fibonacci数
Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现...原创 2019-11-13 01:06:22 · 141 阅读 · 0 评论 -
合法括号串的判断
对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串。合法括号串表示字符串中全是括号,并且左右括号数量相等#include <iostream>#include <string>#include <stack>using namespace std;/*思路:...原创 2019-11-13 01:00:11 · 750 阅读 · 0 评论 -
日常练习__判断1000到2000之间的闰年
首先你要知道什么是闰年,这里有一个口诀:四年一闰;百年不闰, 四百年再闰。既然是判断就需要输入。scanf("%d", &a);这里要引入一个头文件#define _CRT_SECURE_NO_WARNINGS这个头文件一定要放在程序第一行 !我们题目中是要判断1000到2000之间的闰年,所以我们要判断输入数字是否在我们的要求内。如果不在我们的要求内,需要重新输入。这里我...原创 2019-03-15 13:38:44 · 454 阅读 · 0 评论 -
两种排序方式
考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:“car” < “carriage” < “cats” < “doggies < “koala”2.根据字符串的长度排序。例如:“car” < “cats” < “koala” < “doggies” < “carri...原创 2019-11-14 00:51:44 · 336 阅读 · 0 评论 -
不要算术运算符的加法
#include <iostream>using namespace std;/*思路: 二进制加法。发现一个特点。 位的异或运算跟求'和'的结果一致: 异或 1^1=0 1^0=1 0^0=0 位的与运算跟求'进位‘的结果一致: 位与 1&1=1 1&0=0 0&0=0 异或将需要进位的位置 变成0;不需要进位的位置不变 位于将需要进位的...原创 2019-11-15 01:13:16 · 74 阅读 · 0 评论 -
不使用(a+b)/2这种方式,求两个数的平均值。
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int add(int x, int y)//①用来实现加法的函数{ int tmp = 0; do { tmp = x ^ y; y = x & y; x = tmp; y <<=...原创 2019-04-19 23:01:21 · 130 阅读 · 0 评论 -
牛客网题库--不要二
二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。#include <iostream...原创 2019-11-12 00:40:39 · 388 阅读 · 0 评论