大家好,我是安然无虞。
博客主页:安然无虞
博主认证:2021年博客新星Top2
咱的口号:小比特,大梦想
作者请求:由于博主水平有限,难免会有错误和不准之处,我也非常渴望知道这些错误,恳请铁汁批评斧正。
火爆专栏:蓝桥杯基础算法剖析
从今天开始,博主会推出一个新的专栏——每天一套题,其中包含三道选择填空题和两道编程题,个人觉得还是非常有意义的,题目呢也是我的老师们精挑细选的,还等啥呢,一起刷起来:每日一题·提升你我能力
题目是这样的:
补充知识点:
1.使用栈区空间时有一个特点:先使用高地址存储空间,后使用低地址存储空间。
2.数组随着下标的增长,地址由低到高变化。
知识点补充:
我们都知道,const修饰变量的时候,此时变量成为了常变量,不能被修改,同样的,const也能用来修饰指针。
const修饰指针的时候有两种用法:
知识点引入后,下面看这道题:
题目描述:
下列选项中哪一种形式声明了一个指向char类型变量的指针p,而且p的值是不可以修改的,但p指向的变量的值是可以修改的?
思路:
根据题意,const修饰的是p
题目:关于时间复杂度
思路一:排序
思路二:映射方式(hash)
思路三:求和求差
思路四:异或法
思路一:保存挪放置三部曲
思路二:空间换时间
思路三:牛人找出的规律
//逆置函数 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); }
加油吧少年们,一起冲。