剑指offer
Echo_Yang7
这个作者很懒,什么都没留下…
展开
-
整数中1出现的次数
题目: 求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。 思路: 一个数n具有个位、十位、百位…对于任意位,该位置上1出现的次数与该位...原创 2019-06-17 22:19:16 · 151 阅读 · 0 评论 -
表示数值的字符串python
讨论区看到的答案,太妙了,值得收藏 class Solution: # s字符串 def isNumeric(self, s): sign,decimal,hasE = False,False,False for i in range(0,len(s)): if s[i] in ['e','E']: ...原创 2019-06-11 17:56:28 · 690 阅读 · 2 评论 -
删除链表中重复的节点
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路 整体需要考虑第一个数字和第二个数字相同的情况,这种情况要设立一个新的头节点,放置于链表的首部 class ListNode: def __init__(s...原创 2019-06-11 13:00:41 · 109 阅读 · 0 评论 -
链表的第一个公共节点python
链表的第一个公共节点 思路 假设两个链表是单链表。那么公共节点之后的链表一定是重合的,也就是说,两个链表的有一节尾巴是一样的。 解决上述问题的方法就是,先求出两个链表的长度,分别是len1和len2,如果len1<len2,那么让链表2先走len2-len1步,接下来两个链表一起走,反之同理 class ListNode: def __init__(self,x): ...原创 2019-06-11 10:24:41 · 462 阅读 · 0 评论 -
把数组排列成最小的数-python
题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路 制定一个排序规则,如果a和b两个数字组合ab>ba,则a、b调换顺序,否则不调 class Solution: def PrintMinNumber(self, numbers): ...原创 2019-05-22 22:01:49 · 1510 阅读 · 0 评论 -
和为S的连续正数序列-python
题目 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出所有和为S的连续正数序列。序列内按照从小至大...原创 2019-05-14 16:10:30 · 386 阅读 · 0 评论 -
丑数 python
题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 思路: 对于已知的丑数序列,后面的丑数一定是已知序列中的数字乘以2/3/5得到的。对当前序列中的数字乘2/3/5得到的数字中最小的数字才能放入序列。 现在已知序列为[1],只有一个元素1,对该元素乘2/3/...转载 2019-06-18 10:46:39 · 957 阅读 · 0 评论