题目地址:http://hihocoder.com/problemset/problem/1048
编程之美的课后题也有一个和整个题目一样的。(P269)
题目
这个题目的题意很容易理解,在一个N*M的格子里,我们现在有两种类型的砖块,1 * 2
和 2 * 1,问一共有多少种方案,可以将整个N*M的空间都填满。
最简单的例子就是下面的了:
编程之美中题目:
某年夏天,位于...
分类:
编程语言 时间:
2015-03-08 21:37:11
阅读次数:
439
编程之美上有这题,先计算这两链表的长度,然后从这两链表长度相等处扫一遍,找到相同节点就跳出即可。O(n)的时间复杂度 O(1)的空间开销/** * Definition for singly-linked list. * struct ListNode { * int val; * ...
分类:
其他好文 时间:
2015-03-05 23:39:24
阅读次数:
196
以0结尾的数只与因子5*2有关,所以只要计算1-n之间2和5的个数,由于2的个数比5多的多(证明不会。。。),所以就只要计算5的个数就行了,编程之美上有这题~int trailingZeroes(int n) { int ret = 0 ; while(n){ ret+= ...
分类:
其他好文 时间:
2015-03-05 20:46:21
阅读次数:
131
方法一:直接开个100010的数组水过。方法二:编程之美上O(1)的额外空间开销void reserve(int nums[],int n,int k){ int temp; for(int i = k ; i < (n+k)/2 ; i++) { temp = nums[...
分类:
其他好文 时间:
2015-03-03 21:52:41
阅读次数:
125
1. 简要介绍 关于二叉树问题,由于其本身固有的递归属性,通常我们可以用递归算法来解决。(《编程之美》,P253) 总结的题目主要以leetcode题目为主。2. 测试用例 功能测试:平衡的二叉树,不是平衡的二叉树,二叉树中所有节点都没有左/右子树 特殊输入测试:二叉树只有一个节点,二叉树...
分类:
其他好文 时间:
2015-02-26 20:17:53
阅读次数:
143
题目:
电话的号码盘一般可以用于输入字母,如用2可以输入A,B,C,用3可以输入D,E,F等,对于号码5869872可以依次输出其代表的所有的字母组合。
解法一:直接循环法:
#include
#include
using namespace std;
#define TelLength 3
int main()
{
char c[10][10]=
{
"",...
分类:
其他好文 时间:
2015-02-20 14:09:47
阅读次数:
123
这题我做了N久也做不出....赛后看了大牛AC的思路....Program:#include#include#include#include#include#include#include#include#define ll long long#define oo 1000000007us...
分类:
其他好文 时间:
2015-02-18 13:00:53
阅读次数:
190
题目:《编程之美》P241
提示:利用动态规划的思想,保存每次循环所计算出来的数据,可以避免重复计算
class treenode
{
public:
int data;
shared_ptr left,right;
treenode(int d,const shared_ptr &l,const shared_ptr &r):data(d),left(l),right(r){}...
分类:
其他好文 时间:
2015-02-04 14:42:16
阅读次数:
112
问题:给定一个二叉树,要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右,并将节点依次编号。那么分层遍历如图的二叉树,正确的输出应该为:...
分类:
其他好文 时间:
2015-02-03 23:12:19
阅读次数:
485
题目:《编程之美》P223
string sub_string(const string &s, const int begin,const int end)
{
if (begin > end)
return "";
return s.substr(begin, end);
}
int strings_distance(string s1, string s2)
{
if ...
分类:
编程语言 时间:
2015-02-03 23:07:31
阅读次数:
235