1. 列表
(1) 建立列表
list(‘python’)
['p', 'y', 't', 'h', 'o', 'n']
(2)列表的常用方法:
append 在列表末尾添加元素
>>>l=[‘a’,’b’,’c’]
>>>l.append(‘d’)
>>>l
['a','b','c','d']
count 统计某个元素在列表中出现的次数
>>>['a','a'...
分类:
编程语言 时间:
2014-05-20 17:00:52
阅读次数:
465
题目:
输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。效率尽可能高。
例如:
f(2)=1
f(12)=5
f(20)=12
f(115)=44
解决方案:
最简单的方法是从1到n循环处理,计算每个数中1的个数,累加起来。这个效率很低。
第二种方法是累加从1到n的所有数的个位十位百位等等上面1的个数,对于32位整数运算次数不超过10次。
int n...
分类:
其他好文 时间:
2014-05-18 04:41:55
阅读次数:
197
统计一个数字在排序数组中出现的次数。例如输入{2,2,2,2,2,3,5,5}和数字2,输出5.常规的顺序扫描法时间复杂度是O(n),可以进一步优化。用二分查找的方法进行查找可以把时间复杂度降为O(logn)。
分类:
其他好文 时间:
2014-05-17 22:22:39
阅读次数:
256
题意:给定数字n,生成所有可能的n对括号的组合
思路:dfs暴力枚举
当左括号出现的次数 < n 的时候,可以选择放置新的左括号
当右括号出现的次数 < 左括号的次数的时候,可以选择放置新的右括号
递归函数:
void generateparenthesis(int n, int left, int right, vector& result)
表示将生成的所有可能的n对括号的组合放到result中,
其中,
s表示已生成的部分括号,
left表示当前的左括号数,
right表示当前的右括号...
分类:
其他好文 时间:
2014-05-15 13:21:12
阅读次数:
311
通过操作指针,与指针做函数参数'实现字串在主串中出现的次数,然后将出现的部分按照要求进行替换...
分类:
其他好文 时间:
2014-05-15 05:58:16
阅读次数:
218
水题。
描述的还挺麻烦的,实际上就是纸老虎,用两个string,一个存上一轮的结果,一个用来更新出这一轮的结果,每次扫描上一轮,统计一个字符出现的次数,然后把这个次数和字符加入到这一轮的字符串中就可以了。
class Solution {
public:
string countAndSay(int n) {
if(n == 0) return "";
...
分类:
其他好文 时间:
2014-05-15 04:12:07
阅读次数:
289
在字符串中找出第一个只出现一次的字符。如输入:“aabcdc”,则输出b
。思路:我们可以把数组当做一个简单的哈希表来用,把每个字母的ASCII码值作为在数组中的位置(下标),数组中存储的是该字符出现的次数。这样我们就创建了一个以字符ASCII码为健值的哈希表。
分类:
其他好文 时间:
2014-05-14 22:41:18
阅读次数:
352
题意:从一个已排序的数组中移除掉重复的元素,每个元素最多可重复两次
思路: 思路和Remove Duplicates from Sorted Array一样,不过要设置一个计数变量,表示当前值出现的次数
出现次数少于2可以加入到新数组,多于2则不可以。每次遇到一个新变量要把计数变量重新设置为1,加入新数组要加1
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:03:00
阅读次数:
262
题目链接在字符串a中查找字符串b出现的次数...貌似不可以用a.count()附上代码:1 a =
raw_input().strip()2 b = raw_input().strip()3 cnt = 0;4 for i in
xrange(len(a)):5 cnt += 1 if a....
分类:
其他好文 时间:
2014-05-14 04:13:06
阅读次数:
308
在字符串中,寻找第一个只出现一次的字符,如str=“abddgdbacdd", 结果是c
三种方法:
1. 使用字符字典数组,每个元素是一个结构体,第一个字段记录字符出现的次数,第二个字段记录该字符在字符串中第一次出现的位置,
先遍历一遍字符串,对字符字典数组赋值,然后遍历一遍字符字典数组,找到第一个字段为1,且位置最小的字符即为需要寻找的字符。如下:
struct node{
int...
分类:
其他好文 时间:
2014-05-12 23:39:49
阅读次数:
422