1. 一本书共n页,有一串页码从1到n,计算各数码分别用到了几次
注:数码为0,1,2。。。。。。9的数字
先把数字转化成列表,然后从1-n,都转化成列表后extend. 对于这个列表用Counter 处理一下。
点击(此处)折叠或打开
- from collections import Counter
- def count_pagenum(n):
- ll=list(range(1,10))
- for i in range(10,n+1):
- lpage=num_2_seq(i)
- ll.extend(lpage)
- ll.sort()
- d=Counter(ll)
- print(d)
- def num_2_seq(n):
- #n>9
- ll=[]
- while n > 9:
- a,b=divmod(n,10)
- ll.append(b)
- n=a
- ll.append(a)
- return ll
- #count_pagenum(11)
2. Given an unsorted integer array, find the first missing positive integer,
INPUT: [1,2,0] OUTPUT:3
INPUT: [3,4,-1,1] OUTPUT:2
leetcode 上的题目,用dict 就可以解决问题。
点击(此处)折叠或打开
- def first_missing_positive(seq):
- length=len(seq)
- if length==0:
- return 1
- numdict={}
- for num in seq:
- if num > 0:
- numdict[num]=num
- for i in range(1,length+1):
- if numdict.get(i,-1)==-1:
- return i
- return length+1
- print(first_missing_positive([1,2,0]))
- print(first_missing_positive([3,4,-1,1]))
可参考的代码如下:
#https://github.com/joshmtwigg/Picture-to-ASCII-Python-Script
#https://gist.github.com/cdiener/10491632