c++基础知识,有现成的函数不用,非的自己设计算法,这不是坑爹吗?

2023-05-16

那天天气不错,小白(纯属虚构,也许是我,你猜,呵呵)兴高采烈地去xx手机游戏公司面试,带上自己的学历,简历,还有android 手机

手机除了便于联系贵公司之外,最重要的一点,手机上安装有自己制作的游戏作品demo,用于在面试的时候展示自己的成果。

坐公交。。。下车,走路,问路。。。

到了下午大概三四点中的时候,终于找到面试公司了,接待员是女的,倒水,登记很是客气,礼貌,公司环境不错,然后叫小白到公司到一个接待到地方

坐了下来,这时候,来了跟小白年纪相当,面试官吧,小白先介绍介绍自己,去年的项目经历,还有今年的项目经历

最后接着演示自己的小作品,,,不错不错,聊得都不错,过一会,他说,我出去下,叫另一位同事过来,于是另一位面试过来,

小白将自己都项目经历有重复了一遍,接着演示自己都作品,哎,你做的这些东西都是挺简单的,以前的项目经历做得也是相对简单的,这时候小白心里就嘀咕了

哎,你是大神又如何,别只看表面就觉得挺简单,有本事你来实现下。哎,这面试官最后说了下:你c++很牛是吧,你就写个字符串比较吧,可以用库函数,

于是小白,既然可以用库函数是吧,心里想,就霹雳霹雳,写了一下代码:

#include <stdio.h>

#include <iostream>

#include<string>

int  stringCompare(std::string a, std::string b)

{

          int res = strcmp(a.c_str(), b.c_str();

          return res;

}

int main()

{   

      int res = stringCompare("xxx", "bbbbb");

     if(res == 0)

     {std:: cout << "equal" << std::endl;}

     else if(res < 0)

     {

      std::cout << "less" << std::endl;

     }

     else

     {

     std::cout << "bigger" << std::endl;

    }

}

ok,两三下搞定,其实小白也知道面试官的用意,其实面试官更多的是想考考小白的算法能力,基本功如何,这不行,你重新设计下吧。

这时候小白不高兴了,说不是我不行,只是你说可以用哭函数的呀,何况现在什么情况,还用这种方式来面试人,现成的东西不用,非得自己写?

难道你不知到站在巨人的肩上看得更远么?。。。。。又相互说了一堆,最后小白直接问面试官,那就是没机会了?面试官说,我要呈现的东西你不展现出来,我无法看到你

的实力如何?所以是没机会了,面试虽然失败,但小白,依然笑看春风,因为小白,心中依然又个梦想。。。。

这里暂且不讨论小白和面试官的对与错。

如果是你,对于这个算法又如何设计的呢?看似简单也确实简单,因为百度一下,都有,还有以前教科书上也有,好吧。

我写下我的算法吧,也许不正确,也许,不够精简,都没问题,至少动手了就好,呵呵,至于你的呢,不用百度,自己设计下,我也学习下。

#include <stdio.h>

#include <iostream>

using namespace std;


int stringCompare(const char *p1, const char *p2)

{


    int len1 = strlen(p1) / sizeof(char);

    int len2 = strlen(p2) / sizeof(char);


    int len = len1 <= len2 ? len1 : len2; // 得到字符串最长度最少值的

    int result  = 0;

    int i = 0;

    while (i  < len) {

        if (p1[i]  < p2[i])

        {

            result = -1;

            break;

        }

        else if(p1[i] > p2[i])

        {

            result = 1;

            break;

        }

        ++i;

    }

    

    if (i == len) {

        if (len1 < len2) {

            result = -1;

        }

        else if(len1 > len2)

        {

            result = 1;

        }

        else

        {

            result = 0;

        }

    }

    

    return result;

}

int main()

{

    const char *p1 = "qua";

    const char *p2 = "quan";   

    

    int res = stringCompare(p1, p2);

    if (res == 0) {

        cout << "equal" << endl;

    }

    else if (res < 0)

    {

        cout << "less" << endl;

    }

    else

    {

        cout << "bigger" << endl;

    }

    return 0;

}

在xcode上测过,至于以上小白和面试官看法,我觉得作为一个面试官不能单凭这么一个糊弄的东西就能测出小白的能力,如果我遇到这么的面试题我绝对走人,我觉得在互联网竞争激烈的今天,效率永远是第一位,我才懒得自己设计这算法,比如:STL我也不清楚里面是如何实现的,但我却知道如何用,毕竟这些都是前人大师级写下了的,绝对可靠,古人云,前人栽树后人乘凉,如果不用,那要前人干嘛,你说呢?当然自己多懂些算法还是蛮好的,程序这本身是算法+数据结构构成的,是吧。

仅供参考,学习而已。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++基础知识,有现成的函数不用,非的自己设计算法,这不是坑爹吗? 的相关文章

  • 常用串口调试工具比较(详细)

    目前有许多免费的串口调试工具 xff0c 比较常用的有 xff1a 1 友善串口调试助手 xff08 v2 6 5 xff09 优点 xff1a 1 xff09 使用方便 xff0c 不丢包 xff1b 2 xff09 串口自动识别 xff
  • 请问在Delphi中用什么方式打开窗体能让它一直在最前面,而且还可以对其它窗体进行操作?

    将要打开的窗口FormStyle属性设置为 fsStayOnTop xff0c 然后再用show方法打开窗口
  • 微软Surface Pro 4/5平板如何重装Win10系统?教程分享

    重装Win10系统很多用户都会 xff0c 但是如果是平板 xff0c 那么操作起来和电脑可能会有不同 xff0c 毕竟平板需要触屏的支持 xff0c 今天我们要讲的是微软Surface Pro 4 5如何重装Win10系统 xff0c 主
  • C#发送16进制串口数据

    个困扰两天的问题 xff1a 需要通过串 向设备发送的数据 xff1a 0A010 7e 08 00 11 00 00 7e 76 7f 我先将每个16进制字符转换成10进制 xff0c 再将其转换成ASCII码对应的字符 lt summa
  • C# WinForm遍历窗体控件的3种方法

    这篇文章主要介绍了C WinForm遍历窗体控件的3种方法 xff0c 帮助大家更好的理解和使用c xff0c 感兴趣的朋友可以了解下 目录 1 循环遍历2 递归遍历3 使用反射 1 循环遍历 1 2 3 4 5 6 7 8 private
  • gazebo_ros:未找到命令

    操作系统 xff1a ubuntu18 04 链接 B站链接 xff1a Autolabor初级教程 ROS机器人入门 问题 gazebo ros xff1a 未找到命令 解决办法 sudo apt install ros span cla
  • 【深入学习51单片机】一、基于8051的RTOS内核任务切换堆栈过程剖析

    我一直在写裸机 xff0c 写的多了自然会对rtos产生浓厚兴趣 xff0c 最有意思的莫过于任务切换了 xff0c 可以在多个死循环里面跳转 xff0c 很神奇的样子 本文学习参考程序是网上一个基于8051的简易os xff0c 从哪里下
  • 如何使用网络调试助手调试UDP

    最近的一个项目需要使用UDP xff0c 在网上下载了一个网络调试助手的小工具进行调试 xff0c 非常方便 xff0c 在这里简单的向大家介绍一下它的使用方法 xff0c 仅供参考 xff0c 其他类似的调试工具都差不多 工具 原料 网络
  • Delphi 回调函数及例子

    Delphi回调函数 1 回调函数的概述 回调函数是这样一种机制 xff1a 调用者在初始化一个对象 xff08 这里的对象是泛指 xff0c 包括OOP中的对象 全局函数等 xff09 时 xff0c 将一些参数传递给对象 xff0c 同
  • 解决Window10连接共享目录 登录失败:未知的用户名或错误密码 的解决方法

    关于未知的用户名或错误密码 win10共享这个很多人还不知道 xff0c 今天菲菲来为大家解答以上的问题 xff0c 现在让我们一起来看看吧 xff01 1 按 Win 43 R 运行 执行 窗口 xff0c 输入 gpedit msc 命
  • 教您电脑电源短接哪两根线风扇转

    如果哦我们没有接电脑主板 xff0c 如何让电脑电源风扇转动 我们只有通过电脑电源线的短接来解决这个问题 xff0c 但是电脑电源线哪两跟线使风扇转动呢 一起跟小编来看看吧 电脑电源短接哪两根线风扇转 xff1a 1 电脑电源本身是一个供电
  • 编译PX4固件

    PX4编译 文章目录 PX4编译疑难杂症bug1bug2catkin build isolated 官方脚本Step1Step2 安装常用依赖Step3 创建并运行脚本Step4 补全代码子模块Step5 验证仿真 官方offboard 例
  • ubuntu18.04安装mavros并读取pixhawk飞控数据

    Mavros源码安装 最新mavros详细安装教程 xff08 亲测可行 xff09 启动mavros 上述步骤完成后 xff0c 启动px4 launch roslaunch mavros px4 launch 此时rostopic li
  • 相机标定:相机模型和畸变模型

    一 相机标定方案 相机内参标定是确定内参和畸变参数 equidistqant畸变模型 或者 radial tangential模型 的过程 本文首先介绍SLAM中常用的相机模型和畸变模型 xff0c 随后介绍我们采用的两种内参标定方案 xf
  • 新手入门Docker之Windows下如何使用Docker

    Docker是什么 xff1f Docker 将应用程序与该程序的依赖 xff0c 打包在一个文件里面 运行这个文件 xff0c 就会生成一个虚拟容器 程序在这个虚拟容器里运行 xff0c 就好像在真实的物理机上运行一样 有了 Docker
  • C/C++服务器开发常见面试题(一)

    C C 43 43 服务器开发常见面试题 转自 xff1a LinuxC C 43 43 服务器开发面试题 一 编程语言 1 根据熟悉的语言 xff0c 谈谈两种语言的区别 xff1f 主要浅谈下C C 43 43 和JAVA语言的区别 1
  • Realsense D455/435内参标定以及手眼标定

    相机的内外参 内参数 与相机自身特性有关的参数 xff0c 焦距 xff0c 像素大小外参数 xff0c 相机的位置 xff0c 旋转方向 为什么要内参标定 理想情况下 xff0c 镜头会将一个三维空间中的直线也映射成直线 xff08 即射
  • 最新Ubuntu20.04安装指南(防踩坑版)

    文章目录 最新Ubuntu20 04安装 配置指南 防踩坑版 一 备份 1 Windows系统镜像 2 个人资料 3 一些杂项 二 启动盘UEFI引导1 启动盘制作2 设置以U盘方式启动 三 Ubuntu安装 最新Ubuntu20 04安装
  • 18.Python爬虫之Scrapy框架

    scrapy 框架 01 Scrapy 链接02 Scrapy 的爬虫流程03 Scrapy入门04 setting py文件中的常用设置4 1 logging模块的使用4 2 61 61 scrapy项目中的setting py常用配置内
  • 树莓派上手实战之SSH下配置VNC服务器实现远程桌面(可以实现开机自启动vncserver)

    VNC是linux下面常用的远程桌面 xff0c 用它可以在windows或者unix主机上方便的通过网络操作远程主机而不需要一个额外的显示器 xff0c 非常实用 这篇教程将会详细讲解安装配置VNC服务器开启远程桌面服务的全部过程 首先

随机推荐

  • N2N(docker方式安装)实现远程访问家里群晖

    N2N xff08 docker 安装 xff09 实现远程访问家里群晖 前言部署阿里云ECS安装n2n supernode 及 edge 节点在黑群晖上安装 edge节点windows 安装edge节点 测试遇到的问题检查tun模块状态测
  • 深入浅出话事件(下)

    深入浅出话事件 xff08 下 xff09 二 xff0e 事件的由来 在传统的面向对象的概念中是没有 事件 这个概念的 传统的面向对象概念中只有数据 xff08 Data xff0c 也称为 field 域 成员变量 xff09 和方法
  • 凤凰涅槃

    涅槃 xff0c 涅槃 xff0c 太阳般灿烂 xff0c 黑色的凤凰飞入烈火 xff0c 一切腐朽烧干 涅槃 xff0c 涅槃 xff0c 大海般坦然 xff0c 红色的凤凰浴火重生 xff0c 一切希望复燃 涅槃 xff0c 涅槃 xf
  • 转:make cmake和catkin_make的区别

    程序在cmake编译是这样的流程 cmake指令依据你的CMakeLists txt 文件 生成makefiles文件 make再依据此makefiles文件编译链接生成可执行文件 catkin make是将cmake与make的编译方式做
  • 前端开发踩坑-npm install 时报错---持续更新

    1 npm ERR fatal unable to access https github com adobe webplatform eve git Failed to connect to github com port 443 Ope
  • μC/OS II 任务调度详解(一)

    UC OS II 是一个多任务操作系统 xff0c 从宏观角度来看 xff0c 当前系统中可以有多个任务同时运行 xff1b 但从微观角度来看 xff0c 某一个时刻只能有一个任务处于运行状态 xff08 单CPU情况 xff0c 事实上在
  • IMU参数详解

    1 加速度计 1 1Full Scale Range 1 指加速度计能测量到的正反方向最大加速度的额定值范围 常见有 xff08 2g 4g 8g 16g up to 400g 2 地球重力加速度为1g 61 9 8m s 2 16g 61
  • Registry注册机制

    前言 不管是Detectron还是mmdetection xff0c 都有用到这个register机制 xff0c 特意去弄明白 xff0c 记录一下 首先看Registry代码 Copyright c Facebook Inc and i
  • 计算机网路:<3>连接外网(多层交换机)

    上一期我们讲到如何用多层交换机将不同的子网连接起来 xff0c 我们是用到了多层交换机的路由功能 xff0c 那么这个路由功能可以不以创建路由表并且与路由器相连 xff0c 与外网相连呢 xff1f 答案是肯定的 xff0c 这一期我们就做
  • c++ vector指针访问vector元素的方法

    c 43 43 使用 vector指针访问vector元素时 xff0c 不能简单的类似于c中数组和指针的方式 需要使用迭代器 int main vector lt int gt s vector lt int gt p 61 amp s
  • PHP中的设计模式及其实际应用浅析

    设计模式在各种语言中都有很重要的应用 xff0c 每种设计模式都有其特有的优点以及使用场景 接下来 xff0c 将从单例模式 工厂模式 组合模式以及策略模式四个模式 xff0c 介绍设计模式及其实际项目中的简单应用 一 单例模式 单例模式的
  • ECMAScript6(6):数组的扩展

    数组的扩展 Array from 将类数组对象和可遍历对象转化为真正的数组 span class hljs keyword var span arrayLike 61 span class hljs string 39 0 39 span
  • 嵌入式stm32f429上成功跑通主流Linux 4.13

    楼主是个闲的蛋疼的大学僧 xff0c 在高中和大学的社团 工作室中长期搞单片机和 嵌入式系统开发 刚接触树莓派时候是惊叹不已的 xff0c 然后眼看香蕉派杨梅派橙子派荔枝派醋鳖派等等等等的 开源硬件 相继登场 xff0c 也是一阵的兴奋 x
  • 【视频】零基础学Android开发:蓝牙聊天室APP(一)

    零基础学Android开发 xff1a 蓝牙聊天室APP第一讲 1 Android介绍与环境搭建 xff1a 史上最高效Android入门学习 1 1 Google的大小战略 1 2 物联网与云计算 1 3 智能XX设备 1 4 Andro
  • 飞行控制器Pixhawk简介

    作者 xff1a 华清远见讲师 Pixhawk是一款由PX4开源项目设计并由3DR公司制造生产的高级自动驾驶仪系统 其前身是APM xff0c 由于APM的处理器已经接近满负荷 xff0c 没有办法满足更复杂的运算处理 xff0c 所以硬件
  • Altium Designer 10 介绍、原理图及其模板常规设计

    作者 xff1a 卢老师 华清远见嵌入式学院讲师 1 Altium Designer 10 入门知识 1 1 1 什么是 Altium Designer Altium Designer 提供了统一的应用方案 xff0c 是 Protel x
  • ubuntu18配置PX4编译环境

    Ubuntu 18 04系统下搭建PX4 Pixhawk原生固件编译环境 经参考总结CSDN上多位开发者的文章 xff0c 经调整亲测可行 xff01 参考文章 xff1a 7条消息 搭建无人机仿真环境之PX4安装中出现的一些问题的解决 T
  • F450机架 Pixhawk飞控实现自动避障(2019.11.29)

    之前进行无人机项目 xff0c 实现避障 巡航 定点 航拍等功能 xff0c 项目结束 xff0c 在这里进行分享经验 xff0c 项目所用器件为自己使用的 xff0c 仅供参考 xff0c 实际实现须结合自己实际情况 1 传感器选择 权盛
  • Java类中final/static修饰的成员变量初始化问题

    文章目录 问题1 final修饰基本数据类型 xff08 final修饰成员变量的初始化方法 xff09 1 代码2 分析 问题2 final修饰静态成员变量的初始化方法1 代码2分析3 问题2 1 问题3 final修饰引用类型的初始化以
  • c++基础知识,有现成的函数不用,非的自己设计算法,这不是坑爹吗?

    那天天气不错 xff0c 小白 xff08 纯属虚构 xff0c 也许是我 xff0c 你猜 xff0c 呵呵 xff09 兴高采烈地去xx手机游戏公司面试 xff0c 带上自己的学历 xff0c 简历 xff0c 还有android 手机