摘要: 题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 代码: 1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 int flag = 1; //设置 1 为标志位 5 int count = 0; 6 while ( f 阅读全文
posted @ 2020-05-19 19:08 John_yan15 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 比如n=3时,2*3的矩形块有3种覆盖方法: 代码: 1 //动态规划实现 2 class Solution { 3 public: 4 int rectCover 阅读全文
posted @ 2020-05-19 19:03 John_yan15 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 代码: 1 // 动态规划版 2 class Solution { 3 public: 4 int jumpFloor(int number) { 5 if( number 阅读全文
posted @ 2020-05-19 13:46 John_yan15 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 代码: 1 //动态规划版 2 class Solution { 3 public: 4 int jumpFloorII(int number) { 5 if( number == 阅读全文
posted @ 2020-05-19 13:41 John_yan15 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 一、算法定义 假设当你正在使用适当的输入数据进行一些计算。你在每个实例中都进行了一些计算,以便得到一些结果。当你提供相同的输入时,你不知道会有相同的输出,这就导致了你之前计算某些结果的宝贵时间被浪费掉了。你可以通过保存之前的计算结果去轻易地解决这个问题。比如通过使用恰当的数据结构等。 现在通过分析这 阅读全文
posted @ 2020-05-19 13:36 John_yan15 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 所谓贪心算法是指,在对问题求解时,总是 做出在当前来看是最好的选择。也就是说,不从整体最优上加以考虑,通过贪心算法做出来的往往是在把 原问题拆分成几个小问题,分别求 每个小问题的最优解,再把这些“局部最优解”叠起来,就作为整个问题 当前 的最优解。 贪心算法无固定的算法框架,算法设计的 阅读全文
posted @ 2020-05-19 12:41 John_yan15 阅读(1142) 评论(0) 推荐(0) 编辑