- 博客(6)
- 收藏
- 关注
原创 C++中,/2与>>1的区别
在C++中,直接使用 `/ 2` 和使用 `>> 1` 进行右移一位操作,从功能上来说是等价的,都可以将一个数值除以2并向下取整。然而,它们在实现方式和效率上存在一些细微的区别。1. `/ 2` 运算符:使用除法操作符 `/` 进行除以2的操作,直接将被除数除以2,得到商。这是一种通用的除法操作,适用于正整数、负整数和浮点数。对于正整数来说,结果是向下取整的。2. `>> 1` 位移操作符:使用右移一位操作符 `>>` 进行位移操作,将二进制表示的数值向右移动一位,并在最高位补0。
2023-09-09 16:50:56 646
原创 leecode题解-4. 寻找两个正序数组的中位数
3. 在 `nums1` 中选择一个分割点 `partition1`,并通过 `partition1` 计算出 `nums2` 中的分割点 `partition2`。3)其中,`maxLeft1` 和 `maxLeft2` 分别表示左侧的最大值,`minRight1` 和 `minRight2` 分别表示右侧的最小值。2. 确定两个数组的长度 `m` 和 `n`,同时定义二分查找的边界 `left` 和 `right`。1)分割点左侧的元素都小于等于分割点右侧的元素。
2023-08-20 19:36:18 41 1
原创 嵌入式开发面试题(含C语言)(基础篇)
嵌入式系统中的周期性调度器是一种任务调度算法,用于按照预定的时间间隔调度任务的执行。嵌入式系统中,中断优先级可以通过硬件设置或软件配置来管理,并确保系统对关键事件的及时响应。在裸机编程中,开发人员需要直接访问硬件寄存器和设备,编写底层的初始化代码和驱动程序,以控制和操作系统外设。通过指针,可以直接访问和修改内存中的数据。嵌入式固件是一种在嵌入式系统中运行的软件,通常以二进制形式存储在非易失性存储器(如闪存)中。静态变量是在函数内部定义的变量,它们在函数调用之间保持其值,并且仅在定义它们的函数中可见。
2023-08-19 23:18:26 217
原创 C语言面试题(基础篇)
逗号运算符(comma operator)是C语言中的一个运算符,它用于在表达式中同时执行多个操作,并返回最后一个操作的结果。打开文件可以使用`fopen()`函数,读写文件可以使用`fread()`和`fwrite()`函数,关闭文件可以使用`fclose()`函数。在C语言中,可以使用`malloc()`函数来动态分配内存,使用`free()`函数来释放动态分配的内存。a的值增加2,然后b的值增加3,最后c的值增加4。逗号运算符的优先级是最低的,在使用逗号运算符时,通常需要使用括号来明确操作的顺序。
2023-08-19 23:11:26 332
原创 leecode题解-3. 无重复字符的最长子串
2)使用哈希集合来存储窗口 \[i, j)(最初 j = i)中的字符,同时检查下一个字符是否可以添加到窗口中,如果可以则添加到窗口中并更新答案,否则窗口向右滑动。3)使用数组来模拟哈希集合的功能。1)使用滑动窗口的方法解题;
2023-08-19 22:46:24 40 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人