
剑指Offer
是杰夫呀
记录学习的点点滴滴。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指offer笔记@表示数值的字符串(附Python代码)
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。解题思路# -*- coding:utf-8 -*-class Solution: # s字符串 def ...原创 2019-10-29 00:41:03 · 316 阅读 · 0 评论 -
剑指offer笔记@二维数组的查找(附Python代码)
题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。1 3 5 7 9 2 4 6 8 10 3 5 7 9 11 4 6 8 10 12...原创 2019-08-05 10:35:18 · 231 阅读 · 0 评论 -
剑指offer笔记@数组中重复的数字(附Python代码)
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。解题思路1:先把输入的数组排序,再从头到尾扫描排序后的数组。如果相邻的两个元素相等,则存在重复数字。时间复杂度是O(...原创 2019-08-08 13:32:37 · 236 阅读 · 0 评论 -
剑指offer笔记@构建乘积数组(附Python代码)
题目描述给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。解题思路1:去除A中序号为i的元素,其他元素乘积就是B[i]。时间复杂度O(n^2)。# -*- coding:utf-8 -*-class Solution: ...原创 2019-08-08 14:57:51 · 380 阅读 · 0 评论 -
剑指offer笔记@替换空格(附Python代码)
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。注意事项:Python字符串是不可以修改的类型,因此在Python中只能创建新的字符串,原来的字符串不能修改。解题思路1:用Python字符串的replace方法。# -*- coding:utf-8 -*-...原创 2019-08-09 15:33:53 · 247 阅读 · 0 评论 -
剑指offer笔记@从尾到头打印链表(附Python代码)
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。思路1依次遍历,构建正序列表。再使用list的方法list.reverse()对列表进行翻转。该方法没有返回值,但是会对列表的元素进行反向排序。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# s...原创 2019-08-09 23:44:22 · 213 阅读 · 0 评论 -
剑指offer笔记@正则表达式匹配(附Python代码)
题目:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配。解题思路:1. 考虑特殊情况:两个字符串都为空,这时返回true。 第一个...原创 2019-09-11 22:46:45 · 311 阅读 · 0 评论