面试题目
总结的面试题目
sangfollow
这个作者很懒,什么都没留下…
展开
-
字符串拼接 c++
描述小明同学需要对一个长度为 N 的字符串进行处理,他需要按照要求执行若干步骤,每个步骤都均为下面 2 种操作中的一种,2 种操作如下:TYPE 1. 从字符串结尾开始算起,将第 X 个字符之前的字符移动到字符串末尾TYPE 2. 输出字符串索引为 X 的字符小明尝试了很久没能完成,你可以帮他解决这个问题吗?输入描述:第一行,包含两个整数,字符串的长度 N 和操作次数T;第二行为要操作的原始字符串;之后每行都是要执行的操作类型 TYPE 和操作中 X 的值,均为整数。输入范围:字符原创 2021-09-06 16:19:24 · 1268 阅读 · 0 评论 -
递归思想-统计每个月兔子的总数C++实现
题目:描述有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?输入描述:输入int型表示month输出描述:输出兔子总数int型解题:递归思想为 兔子 = 现有的+新出生的。现有的即为前一个月的,新出生的即前两个月的。注意:第三个月起#include <iostream>using namespace std;// 递归算法int func(int mont原创 2021-08-23 16:28:27 · 1505 阅读 · 0 评论 -
双指针实现数组删除
可以使用双指针:右指针right 指向当前将要处理的元素,左指针left 指向下一个将要赋值的位置。如果右指针指向的元素不等于val,它一定是输出数组的一个元素,我们就将右指针指向的元素复制到左指针位置,然后将左右指针同时右移;如果右指针指向的元素等于val,它不能在输出数组里,此时左指针不动,右指针右移一位。class Solution {public: int removeElement(vector<int>& nums, int val) {原创 2021-07-08 16:36:54 · 304 阅读 · 0 评论 -
数字颠倒的c++两种方式实现
题目描述:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001方式一:#include <iostream>using namespace std;int main(){ int a; cin >> a; do { printf("%d",a%10); a /= 10; } while(a);原创 2021-08-23 09:13:45 · 14682 阅读 · 2 评论 -
二分法中 防止数据溢出处理
int left = 0;int right = nums.size() - 1;若处理为:int middle = (left + right) / 2;在二分法后续处理中可能会导致middle的范围超过 int 的数据范围。else if (nums[middle] < target) { left = middle + 1; // target 在右区间,所以[middle + 1, right]}因此最好定义为:int middle = left..原创 2021-07-08 14:14:05 · 957 阅读 · 0 评论 -
十进制转换为二进制的原理及c++代码实现
1、用2整除十进制整数,得到一个商和余数;再用2去除商,又会得到一个商和余数,如此重复,直到商为小于1时为止,然后把先得到余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,以此排列起来。#include <iostream>using namespace std;int main(){ // 定义一个输入的整型值,一个count数据用于计数二进制的1值 int a = 0; int count = 0;...原创 2021-08-20 16:27:47 · 487 阅读 · 0 评论 -
汽水瓶-c++两种方式实现
一、题目描述描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入描述:输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<原创 2021-08-23 15:14:38 · 882 阅读 · 0 评论