2. m 的 n 次方 如果让你解 2 的 n 次方,而你又不能使用系统内置函数 pow,你会怎么做?该怎么办?这并不简单。连续乘以n m 即可。代码如下:int pow(int n){ int tmp = 1; for(...
3。交换两个数字 交换两个数字。我相信很多人每天都写过关于它的文章,我也相信你每次都会使用一个额外的变量来帮助你。交换 例如我们想要交换 x 和 y 值。传统代码如下:int tmp = x; x = y; y = tmp; 输入此内容时...
1。明智地使用下标 下标是非常有用的数字,尤其是在计算或判断某些数字时。或者首先出现类型编号。例如,如果给您一系列字母并要求您猜测这些字母出现了多少次,我们可以使用这些字母作为保留。当遍历字母a时,arr[a]可以加1。也就是arr[a]+...
2。巧妙利用其余部分 有时,当我们走过田野时,我们会做出超出界限的判断。如果下标快出界了,我们又把Traverse设置为0,尤其是一些循环数组,比如用数组实现的队列。我们经常这样写代码:for (int i = 0; i < N; i...
3。巧妙使用双指针 双指针对于问单链表的问题特别有用,比如“找出单链表是否有环”、“如何做”。对于这类问题,我们可以使用双指针指针,方便多了。顺便告诉你如何使用双指针来解决这三个问题。例如第一题,我们可以设置一个慢速指针和一个快指针遍历链表...
4。放哨兵位 关系到链表的问题,我们经常放一个主题,而这个主题索引不存储有效数据,为了便于工作,而这个头指针可以称为哨兵位。 。 例如,当我们要删除表头的第一个节点时,如果没有设置哨兵位,则删除第二个节点的操作会有所不同。但我们构建了哨兵,...
5。一些与递归相关的优化 (1)。考虑可能递归的问题的状态保存当我们使用递归来解决问题If时,很容易一遍又一遍地计算相同的子问题。这时候我们就需要考虑状态守恒,避免重复计算。例如,我随机问你一个我之前提出的问题问题:青蛙一次可以跳1级或2级...
6。找出两个不重复的数字第一题【找出不重复的数字】给你一组整数数据。在该数据中,一个数字仅出现一次,其他数字出现两次。让你找个号码。 有人问如果两个数字出现一次,其他数字出现一次,我们还能用按位运算来求这两个数字吗? 必填答案。如果一次显示...
7. 求不大于N的2的最大幂指数 传统方法是1乘2,代码如下:int findN(int N){ int sum = 1; while(true){ if(sum * 2 > N){...
计算机图形学的最终目标是满足人类视觉系统最近出版了一本名为《计算机图形学 原理及实践》的书。这本书让我深深感动的是引言中对计算机构建真实图像的理解:我们致力于的最终目标是以视觉元素的形式进行交流,尤其是与人的交流。 这句话的潜台词是:在解决...