《每日一套题·提升你我能力》· 第一篇

大家好,我是安然无虞。

文章目录

  • 每篇前言
  • 新的专栏开启
  • 一、选择填空题
    • 1.一道nice公司的笔试题
    • 2.关键字const的笔试题
    • 3.内部的复杂度作业
  • 二、编程设计题
    • 1.面试题:消失的数字
      • 思路一:排序
      • 思路二:映射方式(hash)
      • 思路三:求和求差
      • 思路四:异或法
    • 2.面试题:轮转数组
      • 思路一:保存挪放置三部曲
      • 思路二:空间换时间
      • 思路三:牛人找出的规律
  • 三、遇见安然遇见你,不负代码不负卿。

每篇前言


博客主页:安然无虞

博主认证:2021年博客新星Top2

咱的口号:小比特,大梦想

作者请求:由于博主水平有限,难免会有错误和不准之处,我也非常渴望知道这些错误,恳请铁汁批评斧正。

火爆专栏:蓝桥杯基础算法剖析

在这里插入图片描述


新的专栏开启

从今天开始,博主会推出一个新的专栏——每天一套题,其中包含三道选择填空题和两道编程题,个人觉得还是非常有意义的,题目呢也是我的老师们精挑细选的,还等啥呢,一起刷起来:每日一题·提升你我能力

《每日一套题·提升你我能力》· 第一篇_第1张图片

在这里插入图片描述

一、选择填空题

1.一道nice公司的笔试题

题目是这样的:

《每日一套题·提升你我能力》· 第一篇_第2张图片答案是:死循环打印hehe

补充知识点:

1.使用栈区空间时有一个特点:先使用高地址存储空间,后使用低地址存储空间。
2.数组随着下标的增长,地址由低到高变化。

2.关键字const的笔试题

知识点补充:

我们都知道,const修饰变量的时候,此时变量成为了常变量,不能被修改,同样的,const也能用来修饰指针。

const修饰指针的时候有两种用法:

用法一:
《每日一套题·提升你我能力》· 第一篇_第3张图片

用法二:
《每日一套题·提升你我能力》· 第一篇_第4张图片

知识点引入后,下面看这道题:

题目描述:

下列选项中哪一种形式声明了一个指向char类型变量的指针p,而且p的值是不可以修改的,但p指向的变量的值是可以修改的?

思路:

根据题意,const修饰的是p

《每日一套题·提升你我能力》· 第一篇_第5张图片

3.内部的复杂度作业

题目:关于时间复杂度

《每日一套题·提升你我能力》· 第一篇_第6张图片其实本题跟二分查找的原理是一样的,不信你看:
《每日一套题·提升你我能力》· 第一篇_第7张图片怎么去做呢?
《每日一套题·提升你我能力》· 第一篇_第8张图片

在这里插入图片描述

二、编程设计题

1.面试题:消失的数字

题目链接:消失的数字
题目描述:
《每日一套题·提升你我能力》· 第一篇_第9张图片

思路一:排序

《每日一套题·提升你我能力》· 第一篇_第10张图片

思路二:映射方式(hash)

《每日一套题·提升你我能力》· 第一篇_第11张图片

思路三:求和求差

《每日一套题·提升你我能力》· 第一篇_第12张图片代码执行:
《每日一套题·提升你我能力》· 第一篇_第13张图片

思路四:异或法

如果大家对于位运算不是特别熟悉,可以看看我之前的一篇文章:位运算的奇巧淫计及其实战《每日一套题·提升你我能力》· 第一篇_第14张图片代码执行:
《每日一套题·提升你我能力》· 第一篇_第15张图片

2.面试题:轮转数组

题目链接:轮转数组
变形题:左旋转字符串
题目描述:
《每日一套题·提升你我能力》· 第一篇_第16张图片

思路一:保存挪放置三部曲

《每日一套题·提升你我能力》· 第一篇_第17张图片

思路二:空间换时间

《每日一套题·提升你我能力》· 第一篇_第18张图片

思路三:牛人找出的规律

《每日一套题·提升你我能力》· 第一篇_第19张图片
代码执行:

//逆置函数 
void reverse(int* nums, int left, int right) 
{
    while(left < right)
    {
        int temp = nums[left];
        nums[left] = nums[right];
        nums[right] = temp;
        left++;
        right--;
    } 
}

void rotate(int* nums, int numsSize, int k) 
{
    k %= numsSize;//保证K的合法性
    //第一步:后K个逆置
    reverse(nums, numsSize - k, numsSize - 1);
    //第二步:前N-K个逆置
    reverse(nums, 0, numsSize - k - 1);
    //第三步:整体逆置
    reverse(nums, 0, numsSize - 1); 
} 

《每日一套题·提升你我能力》· 第一篇_第20张图片

在这里插入图片描述

三、遇见安然遇见你,不负代码不负卿。

加油吧少年们,一起冲。

《每日一套题·提升你我能力》· 第一篇_第21张图片

你可能感兴趣的:(每日一套题·提升你我能力,算法,c++,开发语言)