C语言刷题

简介: C语言刷题

70. 爬楼梯

image.png

类似于斐波那契数列问题,刚开始采用递归的做法,但是效率太慢,超出了时间限制,所以我们不采用递归的做法❌

这里,我们可以利用迭代的做法完成,将后一个数赋值给前一个数。同时,我们要注意n是如何使用的:

image.png

136. 只出现一次的数字

image.png

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

此题比较简单,我们只要知道前面学过的位运算符中的按位异或的用法即可。下面,简单复习一下:

首先按位异或表示当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则为1 ,相同则为0. 该方法被广泛用来统计一个数的1的位数。

即:
0 ^ 0 = 0 ,
0 ^ 1 = 1,
1 ^ 0 = 1 ,
1 ^ 1 = 0 ,
按位异或的3个特点:
1.)0 ^ 0 = 0 , 0 ^ 1 = 1, 0异或任何数=任何数。
2.)1 ^ 0 = 1 , 1 ^ 1 = 0 , 1异或任何数=任何数取反。
3.)任何数异或自己 = 把自己置0。

基于上面的知识,我们可以遍历一遍数组,同时按位异或上0,最终即可得到我们想要的结果:

image.png

相关文章
|
7月前
|
C语言
【C语言刷题系列】合并两个有序数组
【C语言刷题系列】合并两个有序数组
|
5月前
|
存储 C语言
【C语言】基础刷题训练4(含全面分析和代码改进示例)
【C语言】基础刷题训练4(含全面分析和代码改进示例)
|
7月前
|
C语言
【C语言刷题系列】删除公共元素
【C语言刷题系列】删除公共元素
|
7月前
|
存储 C语言
【C语言刷题系列】对数字添加逗号
【C语言刷题系列】对数字添加逗号
|
7月前
|
C语言
【C语言刷题系列】喝汽水问题
【C语言刷题系列】喝汽水问题
|
3月前
|
机器学习/深度学习 编译器 C语言
C语言刷题(中)(保姆式详解)
C语言刷题(中)(保姆式详解)
25 0
|
5月前
|
C语言
【C语言刷题训练】——第7节(含代码与分析思路)
【C语言刷题训练】——第7节(含代码与分析思路)
|
5月前
|
测试技术 C语言 C++
【C语言刷题训练——6】鹏哥C语言刷题训练营笔记,含代码讲解改进
【C语言刷题训练——6】鹏哥C语言刷题训练营笔记,含代码讲解改进
|
5月前
|
存储 C语言
【C语言】鹏哥C语言刷题训练营——第5节内容笔记(含代码全面分析和改进,讲解)
【C语言】鹏哥C语言刷题训练营——第5节内容笔记(含代码全面分析和改进,讲解)
|
7月前
|
C语言
C语言刷题(函数)
C语言刷题(函数)

热门文章

最新文章