题意:爬一层有n阶的楼梯,每次可以爬一阶或两阶,问爬到顶部有多少种方案
思路:dp,具体一点是斐波那契数列。f(i) = f(i-1) + f(i-2)
第i阶可以是从第i-2阶爬上来的,也可以是从第i-1阶爬上来的
进一步发现在迭代到第i阶时,我们只要保存前面的f(i-1)和f(i-2),
所以只要定义两个变量就可以,不用定义一个数组。...
分类:
其他好文 时间:
2014-05-15 02:52:36
阅读次数:
247
大部分的应用中的大部分的实体类型对象都可以使用key-value被序列化到JSON中。key就是field的name或这property,value是string,number,boolean,另外的对象,数组,或者其他的类型如用string表示的date类型,或者表示地理位置信息的对象。{
"n....
分类:
其他好文 时间:
2014-05-14 23:02:34
阅读次数:
390
在字符串中找出第一个只出现一次的字符。如输入:“aabcdc”,则输出b
。思路:我们可以把数组当做一个简单的哈希表来用,把每个字母的ASCII码值作为在数组中的位置(下标),数组中存储的是该字符出现的次数。这样我们就创建了一个以字符ASCII码为健值的哈希表。
分类:
其他好文 时间:
2014-05-14 22:41:18
阅读次数:
352
没听过一句话吗?程序员的世界,不处理字符串就是处理数组。这是群里的一位前辈和我说的,显然这和我之前理解的DOM是javascript的核心的不同的,看了几个面试题的内容,感觉前辈说的话非常的有道理,因此总结下,javascript中对字符串的操作。String类型首先字符串类型是基本类型,但是在这里...
分类:
编程语言 时间:
2014-05-14 22:37:27
阅读次数:
374
Java 数组声明常用的方式1。类型 数组名称[] = new 数组类型[个数]2,类型 数组名称 =
new 数组类型[] {}3,类型[] 数组名称 = {}//类型 数组名[] = new 数组类型 [个数] int $arr[] = new int
[4]; ...
分类:
编程语言 时间:
2014-05-14 22:20:32
阅读次数:
347
题意:移除数组中出现的给定元素,并返回移除元素数组长度。要求在数组上操作
思路:遍历数组,将除给定元素外的其他元素赋值给“新数组”,不过这个“新数组”还是在原来的“旧数组”的内存空间
因为遍历旧数组的下标总大于等于新数组的下标,所以赋值并不会影响到还没有遍历到的元素
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:35:52
阅读次数:
257
题意:从一个已排序的数组中移除掉重复的元素,每个元素最多可重复两次
思路: 思路和Remove Duplicates from Sorted Array一样,不过要设置一个计数变量,表示当前值出现的次数
出现次数少于2可以加入到新数组,多于2则不可以。每次遇到一个新变量要把计数变量重新设置为1,加入新数组要加1
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:03:00
阅读次数:
262
获取服务器mac
<?php
/**
获取网卡的MAC地址原码;目前支持WIN/LINUX系统
获取机器网卡的物理(MAC)地址
**/
class GetmacAddr{
var $result = array(); // 返回带有MAC地址的字串数组
var $macAddr;
/*构造*/
function __construct($...
分类:
Web程序 时间:
2014-05-14 20:48:33
阅读次数:
387
当kmp在母串中匹配到子串之后,删去子串相当于把失配指针往回退到匹配位置的前一个,如果只回退一次的话,直接用数组就可以处理失配指针了,但是本题可能删除后存在多个子串,所以用栈把失配指针位置先存起来,然后找到一次把len长度的失配指针删去,然后栈顶元素就是第一句话说的回退出匹配位置的前一个了。
为了方便调用函数,把以前的kmp改成了接口,方便使用,这样就不用开全局变量的数组了,代码看起来更符合工作...
分类:
其他好文 时间:
2014-05-14 20:20:53
阅读次数:
362