- 博客(33)
- 收藏
- 关注
原创 剑指offer——两个面试案例
面试题67:把字符串转换成整数题目描述:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0详细代码:# -*- coding:utf-8 -*-class Solution: def StrToInt(self, s): # write code here if not s or ...
2019-06-12 10:11:28 260
原创 剑指offer——发散思维能力
面试题64:求1+2+…+n题目描述:求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)详细代码:1、解法一:Python函数# -*- coding:utf-8 -*-class Solution: def Sum_Solution(self, n): # write...
2019-06-11 13:30:14 234
原创 剑指offer——抽象建模能力
面试题60:n个骰子的点数题目描述:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。详细代码:class Solution: def GetProbability(self, n): if n < 1: return [] data0 = [0] + [1] * 6 + [0] * 6 * (n - 1) da...
2019-06-10 22:21:40 240
原创 剑指offer——知识迁移能力(二)
面试题56:数组中数字出现的次数题目一:数组中只出现一次的两个数字题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。详细代码# -*- coding:utf-8 -*-class Solution: # 返回[a,b] 其中ab是出现一次的两个数字 def FindNumsAppearOnce(self, arr...
2019-06-08 23:14:18 162
原创 剑指offer——知识迁移能力(一)
面试题53:在排序数组中查找数字题目一:数字在排序数组中出现的次数题目描述统计一个数字在排序数组中出现的次数。详细代码# -*- coding:utf-8 -*-class Solution: def GetNumberOfK(self, data, k): # write code here num = 0 if dat...
2019-06-08 21:55:50 241
原创 剑指offer——优化时间与空间效率
面试题49:丑数题目描述:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。详细代码:# -*- coding:utf-8 -*-class Solution: def GetUglyNumber_Solution(self, index): ...
2019-05-30 22:34:54 272
原创 剑指offer——时间效率(二)
面试题44:数字序列中某一位的数字题目描述:数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。详细代码:# -*- coding:utf-8 -*-class Solution: def dightAtIndex(self, inde...
2019-05-26 23:26:38 144
原创 剑指offer——时间效率(一)
一、面试题39:数组中出现次数超过一半的数字题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。详细代码:# -*- coding:utf-8 -*-class Solution: def MoreThan...
2019-05-26 22:17:15 208
原创 剑指offer——分解让复杂问题简单化
面试题35:复杂链表的复制题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)详细代码:# -*- coding:utf-8 -*-# class RandomListNode:# def __ini...
2019-04-26 15:45:33 253
原创 剑指offer——举例让抽象问题具体化(33,34)
面试题34:二叉搜索树的后序遍历序列题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。详细代码:# -*- coding:utf-8 -*-class Solution: def VerifySquenceOfBST(self, sequence): # wr...
2019-04-23 22:41:29 190
原创 剑指offer——从上到下打印二叉树(面试题32)
题目一:不分行从上到下打印二叉树题目描述:从上到下按层打印二叉树,同一层结点从左至右输出。详细代码:# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right =...
2019-04-18 17:24:52 178
原创 剑指offer——举例让抽象问题具体化(栈)
面试题30:包含min的栈题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。在该栈中,调用min、push、pop的时间复杂度都是O(1)详细代码:# -*- coding:utf-8 -*-class Solution: def __init__(self): self.stack = [] self.minstack = [] ...
2019-04-18 17:03:17 262
原创 剑指offer——画图让抽象问题形象化
面试题27:二叉树的镜像题目描述:操作给定的二叉树,将其变换为源二叉树的镜像详细代码:# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Nonec...
2019-04-16 15:53:42 278
原创 剑指offer——代码的鲁棒性
面试题22:链表中倒数第k个节点题目描述:输入一个链表,输出该链表中倒数第k个结点。详细代码:# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def ...
2019-04-10 23:14:14 181
原创 剑指offer——代码的完整性
1、面试题16:数值的整数次方题目描述:实现函数double Power(double base, int exponent),求base的exponent次方、不得使用库函数,同时不需要考虑大数问题。详细代码:# -*- coding:utf-8 -*-class Solution: def Power(self, base, exponent): # ...
2019-04-04 16:32:31 280
原创 剑指offer——位运算
面试题15:二进制中1的个数题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。详细代码:class Solution: def NumberOf1(self, n): # write code here count = 0 if n < 0: n = n & 0xfffff...
2019-03-23 15:28:55 241
原创 剑指offer——动态规划与贪婪算法
面试题14:剪绳子题目描述:给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数,且n>1,m>1),每段绳子的长度记为k[0],k[1],k[2],…,k[m]。请问k[0]k[1]…*k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三段,此时得到的最大乘积为18。动态规划详细代码:# -*- coding:utf-8 -*-c...
2019-03-23 15:15:55 295
原创 剑指offer——回溯法
面试题12:矩阵中的路径题目描述:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含...
2019-03-22 10:47:31 367
原创 剑指offer——查找与排序
面试题11:旋转数组的最小数字题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。方法:二分查找详细代码:# -*- coding:utf-8 -*-cla...
2019-03-19 21:42:47 201
原创 逻辑回归算法——经典的二分类算法
一、概述1、逻辑回归(Logistic Regression)算法是分类算法,而不是回归算法2、决策边界:可以是非线性的(高阶)二、sigmoid函数1、定义:g(z)=11+e−zg(z) = \frac{1}{1+e^{-z}}g(z)=1+e−z12、自变量:任意实数;值域:[0, 1]3、作用:将任意输入映射到[0, 1]区间三、预测函数1、预测函数:hθ(x)=g(θT...
2019-03-18 21:43:59 3077
原创 剑指offer——递归与循环
面试题10:斐波那契数列题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。详细代码:# -*- coding:utf-8 -*-class Solution: def Fibonacci(self, n): # write code here if n <= 0: ...
2019-03-18 19:48:41 231
原创 梯度下降法及其优化
简介1、梯度下降引入:目标函数J(θ)J(\theta)J(θ)不一定可以直接求解,线性回归是个特例方向:梯度的反方向,梯度指向值增加的方向2、面对的主要困难梯度的计算:样本流量巨大时,计算耗时又费力(每个xix_ixi都有一个Jxi(θ){J_{x_i}}(\theta)Jxi(θ))学习率的选择过小:算法收敛太慢过大:算法不收敛3、分类批量梯度下降法(...
2019-03-17 21:47:32 684
原创 线性回归
概述1、回归与分类的区别:回归:在一个区间中求解具体值分类:得到一个分类值2、线性回归问题:寻找一条最适合的线最好地拟合数据3、整合成矩阵形式:高效 hθ(x)=θTX\ {h_\theta}(x) = {\theta ^T}X hθ(x)=θTX将X扩增一列全1向量,与θ0{\theta_0}θ0相乘得到偏置量推导目标函数1、误差(ε\var...
2019-03-17 19:41:03 210
原创 Leetcode——88,41,15
88. 合并有序列表题目描述:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0],...
2019-03-16 15:15:20 169
原创 剑指offer——树
面试题7:重建二叉树题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。详细代码:# -*- coding:utf-8 -*-# class TreeNode:# def __init__...
2019-03-14 21:56:03 214
原创 Python可视化库——Matplotlib和Seaborn库
数据可视化库——Matplotlibimport matplotlib.pyplot as plt默认可视化操作plt.plot():画图plt.show():显示设置参数plt.xticks(rotation):变量名倾斜plt.xlable(‘变量名’):x轴名称plt.ylabel(‘变量名’):y轴名称plt.title():标题名称子图fig=pl...
2019-03-14 16:28:54 2635
原创 剑指offer——栈和队列(leetcode232, 225)
面试题9:用两个栈实现队列(leetcode 232)由于leetcode上面的232题(用栈实现队列)实现了队列更多的功能,因此以232题为例。题目描述:使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。详细代码:class MyQueue(o...
2019-03-13 17:35:25 217
原创 剑指offer——字符串和链表
字符串面试题5:替换空格题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。详细代码:class Solution: # s 源字符串 def replaceSpace(self, s): # write code here s...
2019-03-12 17:39:29 544
原创 Python数据分析处理库——Pandas
DataFrame使用Pandas库时,需提前引用:import pandas as pdPandas库中的主要函数和操作:读取数据:a = pd.read_csv('csv文件‘’)数据类型:a的类型:type(a):DataFramea中元素包含的数据类型:a.dtypes:int,float,object,datatime,bool显示头几行数据:a.head(...
2019-03-12 15:39:54 265
原创 剑指offer——数组
面试题3:数组中重复的数字题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。详细代码:class Solution: # 这里要特别注意~找到任意重复的一个值并...
2019-03-12 09:58:51 188
原创 Python科学计算库-Numpy
Numpy常用操作import numpy as npnp.genfromtxt():从.txt文件中读取数据np.array():构建数组/矩阵np.arrange():从给定范围内读取数据构建一维数组np.zeros((3,4)):初始化为3行4列的零矩阵,默认元素为float类型np.ones((2,3,4), dtype = np.int32):初始化为3维矩阵,元素类型为i...
2019-03-11 11:22:32 253
原创 数据结构与算法(一)
主要数据结构几种常用的数据结构如下图所示:1、栈(Stack):先进后出数组:占据内存中一段连续的区域2、队列(Queue):先进后出链表:每一段子链表中指针指向下一位优先队列:最特殊的元素放在最上面,如:大顶堆、小顶堆3、集合(Set):判断一个元素是否存在,也可用数组实现,但时间复杂度较大哈希集合:时间复杂度为O(1),较快树集合:时间复杂度为O(log n),虽然较慢,但...
2019-03-10 17:56:47 147
原创 新手小白的第一篇博客——机器学习入门
今天,我的博客生涯终于开始了。博客对我来说真是个新奇的东西,看到身边的同学在使用博客时总感觉遥不可及,但万事开头难,我坚信自己最终也会养成用博客记录自己的点滴进步的习惯,让我们一起期待吧!我从今天开始了《Python数据分析与机器学习实战》的学习,记录下第一部分——机器学习入门中的收获。机器学习基本内容1、机器学习(ML)主要包含算法、数据、程序、评估、应用等几部分内容。2、应用:数据挖...
2019-03-09 18:32:35 238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人