C+每日练题(15) 目录手套查找输入整数二进制中1的个数手套链接:手套_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。给定颜色种数n(1≤n≤13.
C++每日练题(14) 幸运的袋子链接:幸运的袋子_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3你可以适当从袋子里移除一些球(可以移除0个,但是别移除完),要使移除后的袋子是幸运的。现在让你编程计算一下你可以获
C++每日练题(13) 目录跳石板参数解析跳石板链接:跳石板_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3.......这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。例如:N = 4,M =
C++每日练题(12) 目录密码强度等级井字棋密码强度等级链接:密码强度等级_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。一、密码长度:5 分: 小于等于4 个字符10 分: 5 到7 字符25 分: 大于等于8 个字符二、字母:0 分: 没有字母10 分: 密码里的字母全都是小(大)写字母20 分: 密码里的字母符合”大小写混合“三、数字:0 分: 没有数字10 分: 1 个数字20 分
C++每日练题(11) 目录走方格的方案数另类加法走方格的方案数链接:走方格的方案数_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。注:沿棋盘格之间的边缘线行走数据范围: 1 \le n,m \le 8 \1≤n,m≤8 输入描述:输入两个正整数n和m,用空格隔开。(1≤n,m≤
C++每日练题(10) 目录求最小公倍数两种排序方法求最小公倍数来源:牛客网链接:求最小公倍数_牛客题霸_牛客网 (nowcoder.com)描述正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。数据范围:1 \le a,b \le 100000 \1≤a,b≤100000 输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例1输入:5 7输出:35示例
C++每日练题(9) 目录合法括号序列判断Fibonacci数列合法括号序列判断来源:牛客网链接:合法括号序列判断_牛客题霸_牛客网 (nowcoder.com)描述给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。测试样例:"(()())",6返回:true测试样例:"()a()()",7返回:false测试样例:"()(()()",7返回:false题解用栈结构实现,栈中.
C++每日练题(8) 目录不要二字符串转整数不要二来源:牛客网链接:不要二_牛客题霸_牛客网 (nowcoder.com)描述二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。..
C++每日练题(7) 二进制插入 链接:二进制插入_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述给定两个32位整数n和m,同时给定i和j,将m的二进制数位插入到n的二进制的第j到第i位,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1,其中二进制的位数从0开始由低到高。测试样例:1024,19,2,6返回:1100理解题意:本题考察位运算 找到输入的第i到j位然后进行插入操作怎么做:m:1024:100000000 00 n:19 : 10011
C++每日练题(6) 最近公共祖先链接:最近公共祖先_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述将一棵无穷大满二叉树的结点按根结点一层一层地从左往右编号,根结点编号为1。现给定a,b为两个结点。设计一个算法,返回a、b最近的公共祖先的编号。注意其祖先也可能是结点本身。 测试样例:2,3返回:1理解题意:最近公共祖先表示距离两个节点最近的公共父节点,这道题考察二叉树。怎么做:题目所描述的满二叉树如下: 1 / \ 2 3 / \ / \ 4 5 6 7 上述树.
vector的实现 std::vector的核心框架接口的模拟实现(name)::vectornamespace H { template<class T> class vector {public: typedef T* iterator; typedef const T* const_iterator; iterator begin() { return _start; } iterator end() { return _finish; } const_iterator cbegin()
C++的深度学习(9) 目录vectorvector的介绍vector的使用vector的定义vector iterator 的使用vector 空间增长问题vector 增删查改vector 迭代器失效问题迭代器失效解决办法vector深度剖析使用memcpy拷贝问题动态二维数组理解vector vector的介绍1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标..
String类的实现 目录.h文件.cpp文件.h文件#pragma once#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <assert.h>#include <string.h>using std::ostream;using std::istream;namespace stringss{class string{ friend ostream& operator&l
C++的深度学习(8) string类C语言中的字符串C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。 标准库中的string类1. 字符串是表示字符序列的类 2. 标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。 3. string类是使用char(即作为它的字符
C++的深度学习(7) 目录STL1. 什么是STL2. STL的版本3. STL的六大组件4.STL的缺陷 STL1. 什么是STL STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。2. STL的版本 原始版本 Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意 运用、拷贝.
C++每日练题(5) 统计回文链接:统计回文_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A = “aba”,B = “b
C++每日练题(4) 计算糖果链接:计算糖果_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。输入描述:输入为一行,一共4个整数,分别为A - ...
C++每日练题(3) 在字符串中找出连续最长的数字链接:字符串中找出连续最长的数字串_好未来笔试题_牛客网 (nowcoder.com)来源:牛客网读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。示例1输入abcd12345ed125ss123456789输出123456789首先理解题意读入一个字符串str,输...
C++的深度学习(6) 模板泛型编程 //实现一个通用的交换函数void Swap(int& left, int& right) { int temp = left; left = right; right = temp; }void Swap(double& left, double& right) { double temp = left; left = right; right = temp; }void Swap(char& left, char&am
C++每日练题(2) 倒置字符串链接:倒置字符串__牛客网 (nowcoder.com)来源:牛客网 将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割示例1输入I like beijing.输出beijing. like I.