
C/C++ 上机实战
笔者最近在谋划跳槽,将复习的东西记录,共勉。
倚楼观风雨
每天进步一点点
展开
-
计算每个名字最大可能的“漂亮度”
题目给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。给出多个名字,计算每个名字最大可能的“漂亮度”。代码:#include <iostream>#include <string>#include <vect...原创 2020-05-25 00:08:08 · 182 阅读 · 0 评论 -
给定一个字符串描述的算术表达式,计算出结果值。
题目描述:给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。输入描述:输入算术表达式输出描述:计算出结果值示例1输入400+5输出405代码实现:#include <i...原创 2020-04-26 22:31:44 · 4224 阅读 · 0 评论 -
汽水瓶计算 C++实现
题目描述 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输...原创 2020-04-27 23:21:19 · 614 阅读 · 0 评论 -
有序递增二维数组查找 C++实现
剑指offer面试题3:有序递增二维数组查找题目:在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果大于要查找的数字,剔除这个数字所在的列;如果数字要小于要查找的数字,剔除这个数字所在行。也就...原创 2020-04-12 15:09:41 · 320 阅读 · 0 评论 -
从尾到头打印单链表 C++实现
剑指offer面试题5:从尾到头打印链表题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。解法1:利用栈实现废话不多说,直接上代码:void Solution::printListRevers(ListNode *pHead){ if(!pHead) return; std::stack<ListNode *> s_Nodes; ListNode *...原创 2020-04-12 15:13:24 · 533 阅读 · 0 评论 -
替字符串中的换空格 C++实现
剑指offer面试题4:替换空格题目:请实现一个函数,把字符串中的空格替换成`%20`。例如,输入 “We are happy.”,则输出“We%20are%20happy.”。时间复杂度为O(n^2)的解法思路:从头到尾扫描字符串,每一次碰到空格字符的时候做替换,即把1个字符替换成3个字符;我们必须要把空格后面所有的字符向后移动两个字节,否则就有两个字符被覆盖了。基于如上思路,代码实现...原创 2020-04-12 15:12:21 · 490 阅读 · 0 评论 -
把字符串转换成整数 C++实现
剑指offer面试题50:把字符串转换成整数解题注意点:1、判断标记非法输入,出0到9外其他输入;但是+和-属于合法输入2、判断空指针、空字符串3、考虑溢出(int 范围为0x7FFFFFFF~0x80000000)直接上代码吧:#include <iostream>using namespace std; enum Status{kValid = 0, kInval...原创 2020-04-13 00:08:17 · 615 阅读 · 0 评论 -
赋值运算函数 C++实现
剑指offer面试题之赋值运算函数面试题1: 赋值运算符函数题目: 如下为类型CMyString的申明,请为该类型添加赋值运算符函数。class CMyString{public: CMyString(char *pData = NULL); CMyString(const CMyString& str); ~CMyString(void); char *m_pDat...原创 2020-04-12 15:07:28 · 245 阅读 · 0 评论 -
找出字符串中第一个只出现一次的字符 C++实现
题目:找出字符串中第一个只出现一次的字符输入描述:输入一个非空字符串输出描述:输出第一个只出现一次的字符,如果不存在输出-1示例1输入:asdfasdfo输出o废话不多说,直接上代码:解法1:/*思路:每出现一次,就在对应数组中计数+1*/#include<iostream>#include<string>using nam...原创 2020-04-21 22:12:48 · 4768 阅读 · 0 评论 -
斐波那契数列 C++实现
斐波那契数列要求:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列定义如下:f(n)={ 0 n=0 1 n=1f(n−2)+f(n−1) n>1f(n)=\begin{cases}\>\>...原创 2020-04-15 22:43:51 · 5973 阅读 · 2 评论 -
翻转单词单词顺序 C/C++实现
要求:将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符解法1:#include <string>#include <iostream>using namespace std;void reverse(char *begin, char *en...原创 2020-04-22 01:45:26 · 1649 阅读 · 0 评论