题目链接:uva 11401 - Triangle Counting
题目大意:有多少种方法可以从1,2,3...n中选出3个不同的数组成三角形,给出n,求种数。
解题思路:加法原理,设最大边为x的三角形有c(x)个,那么另外两条边长分别为y和z,根据三角形的形式可以的y+z>x,所以z的范围即为x?yzx
根据这个不等式可以得到每个y值所对应的z值个数,为等差数列,所以
c(...
分类:
其他好文 时间:
2014-05-15 03:03:34
阅读次数:
248
作者:刘昊昱
博客:http://blog.csdn.net/liuhaoyutz
本文介绍了一个使用Handler的Android应用程序,通过该程序,我们可以了解Handler的基本用法。该程序运行效果如下:
点击Button1按钮后,运行效果如下:
点击Button2按钮后,运行效果如下:
下面我们来看这个程序代码。
主程序TestHandlerActiv...
分类:
移动开发 时间:
2014-05-15 02:57:40
阅读次数:
512
题意:爬一层有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
散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,它通过把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。
一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名x到首字母F(x)的一个函数关系),在首...
分类:
编程语言 时间:
2014-05-15 02:27:50
阅读次数:
497
大部分的应用中的大部分的实体类型对象都可以使用key-value被序列化到JSON中。key就是field的name或这property,value是string,number,boolean,另外的对象,数组,或者其他的类型如用string表示的date类型,或者表示地理位置信息的对象。{
"n....
分类:
其他好文 时间:
2014-05-14 23:02:34
阅读次数:
390
题意:移除数组中出现的给定元素,并返回移除元素数组长度。要求在数组上操作
思路:遍历数组,将除给定元素外的其他元素赋值给“新数组”,不过这个“新数组”还是在原来的“旧数组”的内存空间
因为遍历旧数组的下标总大于等于新数组的下标,所以赋值并不会影响到还没有遍历到的元素
复杂度:时间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