自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凌桓丶的博客

沙漠尽头必是绿洲

  • 博客(9)
  • 收藏
  • 关注

原创 leetcode-136. 只出现一次的数字解法

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4对于这样一个问题,我们可以使用一种小技巧,既用异或来解题。首先我们要了解异或的几个性质1.两个数异或是,二进制位相...

2019-09-30 21:14:09 203

原创 斐波那契数拓展问题:leetcode-70 爬楼梯问题 leetcode-1137 泰波那契数问题解法

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?这是道经典的题目,我们可以在Leetcode,pta,剑指offer等地方经常看到它。对于这样一个问题,我们可以先列举出它的前几层来找到规律f(1):1种f(2):2种f(3):3种f(4):5种f(5):8种····f(n):f(n-1) + f(n-2)种总...

2019-09-29 13:25:55 338

原创 斐波那契数的两种求法(迭代,递归)

**斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.’了解到它的规律后,我们很简单的能想到两种做法:1.递归2.迭代对于一个我们已经了解其规律的函数,我们用递归可以很简单的求出它...

2019-09-29 13:13:47 5090

原创 汉诺塔问题(递归)

相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。分析:对于这样一个问题,任何人...

2019-09-27 15:42:55 500

原创 输入任意长度的字符串,反向输出(递归)

递归既程序调用其本身,虽然递归对于内存和时间的消耗极大,但是有时候它可以很轻松的实现一些看起来不太容易的题目。对于一个没有给出长度的字符串,我们有很多做法,可以用动态申请内存的方法来写,也可以通过栈或者双向链表来完成,但如果使用递归的方法,则可以很简单的实现。void print(){ char a; scanf("%c",&a); if( a != '\n') pr...

2019-09-26 17:41:45 2134

原创 数据结构与算法 | 二分查找

假如我们在图书馆中整理书记,书按照序号有序排序,序号不连续,当我们需要从书堆中找到特定序号的书时,如果一本一本查找的话,我们可能需要查找N次。但如果我们先找到中间的书,将书分成两堆,与待查书对比,待查书序号较大的时候从序号大的一堆中在分成两堆继续对比,书号小时从小的那堆继续对比,直到找到对应书号,这样只需查找log2(n)次。这就是二分查找法。例如我们有一个被排序好的数组int a[10] ...

2019-09-25 21:08:36 414

原创 C语言程序设计 | 猜数字游戏

游戏内容:随机生成一个1~100的数字,让玩家猜测,当玩家猜错的时候提示是大了还是小了。首先我们先对内容进行分析。1.我们需要随机生成一个范围在1-100的数据供玩家猜测于是我们可以想到用rand()函数来实习ret = rand() % 100 +1;但是如果多次实验,会发现每次给的随机数在重新运行程序后都是一样的,这样的随机是重复的,达不到游玩的效果,所以我们需要引入一个srand(...

2019-09-24 21:02:38 4720

原创 C语言程序设计 | 打印一个n行的菱形

打印一个n

2019-09-23 17:28:25 13289

原创 编程计算并输出1~50之间的所有数的阶乘(大数阶乘)

如果使用递归的方法,当阶乘计算到13!时数据就开始出现问题,因为int型数据无法保存这么大的数字,即使换成long ,long long ,double等也无法容纳,所以我们需要使用大数的方法来完成这道题目。所谓大数就是将一个极大的数值拆分开来,每一位的数字都作为数组的一个元素保存起来,下面我将一步一步讲解这个代码如何实现首先声明变量 a用于储存大数,数组大小可以赋予任意较大值,足够保存即可...

2019-09-21 23:40:33 9254 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除