自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhe

LEARNING

原创 tensorflow2.0 GPU和CPU切换

首先若不加任何配置情况下,是默认使用gpu的, 加上下面这句代码就使用cpu了。 os.environ["CUDA_VISIBLE_DEVICES"] = "-1"

2020-02-20 15:22:32

阅读数 23

评论数 0

原创 工厂方法模式

文章目录简介定义结构图模式分析计算器实例UML 类图抽象产品具体产品抽象工厂具体工厂客户端工厂模式的优缺点优点缺点使用环境 简介 定义 工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymo...

2020-02-12 17:49:20

阅读数 11

评论数 0

原创 简单工厂模式

文章目录工厂模式简介定义简单工厂模式的结构图 工厂模式简介 定义 简单工厂模式属于创建型模式又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。 简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类,要的是统一的接口。 简...

2020-02-11 16:56:57

阅读数 21

评论数 0

原创 设计模式

文章目录简介设计模式简介GOF与面向对象设计原则设计模式的用途设计模式的类型创建型模式描述包括结构型模式描述包括行为型模式描述包括J2EE 模式描述包括设计模式六大原则 简介 设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模...

2020-02-11 16:56:40

阅读数 77

评论数 0

原创 其他算法-051-构建乘积数组

文章目录题目描述分析代码 题目描述 给定一个数组A[0,1,...,n−1]A[0,1,...,n-1]A[0,1,...,n−1],请构建一个数组B[0,1,...,n−1]B[0,1,...,n-1]B[0,1,...,n−1],其中B中的元素B[i]=A[0]∗A[1]∗...∗A[i−1]...

2019-12-19 15:37:49

阅读数 31

评论数 0

原创 其他算法-046-孩子们的游戏-圆圈中最后剩下的数(约瑟夫环)

文章目录题目描述分析代码 题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列...

2019-12-19 14:19:28

阅读数 45

评论数 0

原创 其他算法-043-左旋转字符串

文章目录题目描述分析代码 题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。...

2019-12-18 16:41:42

阅读数 23

评论数 0

原创 其他算法-041-和为S的连续正数序列(滑动窗口思想)

文章目录题目描述分析代码 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在...

2019-12-18 14:13:04

阅读数 27

评论数 0

原创 其他算法-042-和为S的两个数字(双指针思想)

文章目录题目描述分析代码 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 分析 方法一:双层循环,暴力解法,得到所有两数之和,时间复杂度为O(n...

2019-12-18 10:58:51

阅读数 31

评论数 0

原创 其他算法-033-丑数

文章目录题目描述分析代码 题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 分析 方法一:暴力搜索,时间复杂度不满足要求。 方法二:动态规划方法,当前第...

2019-12-17 13:59:42

阅读数 17

评论数 0

原创 其他算法-032-把数组排成最小的数

文章目录题目描述分析代码 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 分析 方法一:乍一看此题似乎是一个全排列问题,当然可以用回溯进行全排列,但是时间复...

2019-12-16 19:58:35

阅读数 46

评论数 2

原创 Leetcode-416.分割等和子集

文章目录题目描述分析代码 题目描述 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [1, 5, 11, 5] 输出: true 解释: 数组可以分割成 [...

2019-12-13 16:24:04

阅读数 18

评论数 0

原创 动态规划-01背包

文章目录题目描述分析 题目描述 给定n个重量为w1,w2,⋯ ,wnw_1,w_2,\cdots,w_nw1​,w2​,⋯,wn​,价值为v1,v2,⋯ ,vnv_1,v_2,\cdots,v_nv1​,v2​,⋯,vn​的物品和容量为C的背包,求这个物品中一个最有价值的子集,使得在满足背包的容量...

2019-12-12 21:10:13

阅读数 26

评论数 0

原创 其他算法-031-整数中1出现的次数(从1到n整数中1出现的次数)

文章目录题目描述分析代码 题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数...

2019-12-10 19:23:18

阅读数 24

评论数 0

原创 其他算法-028-数组中出现次数超过一半的数字

文章目录题目描述分析代码 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 分析 方法一:利用python字典,记录每个出...

2019-12-10 16:01:07

阅读数 22

评论数 0

原创 其他算法-013-调整数组顺序使奇数位于偶数前面

文章目录不考虑相对位置题目描述分析代码考虑相对位置题目描述分析代码 不考虑相对位置 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 分析 使用双指针,利用快排的一次划分思想,很快得到答案。 代码 # -*- codin...

2019-12-10 11:55:08

阅读数 22

评论数 0

原创 其他算法-002-替换空格

文章目录题目描述分析代码 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy 分析 思路一:从头到尾遍历字符串做替换,时间复杂度为O(n2),效率低。 思路二:从尾到头遍历...

2019-12-06 16:30:57

阅读数 22

评论数 0

原创 位运算-040-数组中只出现一次的数字

文章目录题目描述分析代码 原题:260. 只出现一次的数字 III (leetcode) 题目描述 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。 示例 : 输入: [1,2,1,3,2,5] 输出: [3,5] 注意: 结果输...

2019-12-03 17:27:48

阅读数 21

评论数 0

原创 利用位操作进行特殊数组的查找-leetcode

文章目录只出现一次的数字题目描述分析代码只出现一次的数字 II题目描述分析及代码 只出现一次的数字 原题:136. 只出现一次的数字 题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不...

2019-12-03 15:35:04

阅读数 26

评论数 0

原创 python位操作以及位操作的相关性质

文章目录python 中整型的存储位操作相关性质 python 中整型的存储 在 python2 时代,整型有 int 类型和 long 长整型,长整型不存在溢出问题,即可以存放任意大小的整数。在 python3 后,统一使用了长整型。这就使得python3 中整型数据永远不会溢出,这要内存放得下...

2019-12-03 13:30:08

阅读数 31

评论数 0

原创 位运算-012-数值的整数次方

文章目录题目描述分析 题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0。 分析 解法一: 单层循环,时间复杂度O(abs(exponent)) 解法二: an={a(n/2)∗a(...

2019-12-02 18:37:03

阅读数 17

评论数 0

原创 位运算-011-二进制中1的个数

文章目录题目描述分析代码 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 分析 解法一:python对整数二进制表示,由于它自身语言的特殊性,对负数的二进制表示也是比较特殊的。 >>> bin(5) '0b101' >&g...

2019-12-02 17:32:45

阅读数 33

评论数 0

原创 二分查找-037-数字在排序数组中出现的次数

文章目录题目描述分析代码 题目描述 统计一个数字在排序数组中出现的次数。 分析 在有序数组中的查找,二分查找具有时间复杂度上的优势。这里直接利用二分查找来分别查找目标值的左右边界来确定出现的次数,那么时间复杂度为O(logn)。 代码 # -*- coding:utf-8 -*- class So...

2019-11-28 21:50:03

阅读数 22

评论数 0

原创 二分查找-006-旋转数组的最小数字

文章目录题目描述分析代码 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小...

2019-11-27 21:39:37

阅读数 18

评论数 0

原创 二分查找总结

文章目录原理及步骤代码模板及其改进编程练习标准的二分查找实战1:猜数字大小 二分查找(Binary Search)也叫作折半查找。二分查找有两个要求: 一个是数列有序 另一个是数列使用顺序存储结构(比如数组) 原理及步骤 二分查找法实质上是不断地将有序数据集进行对半分割,并检查每个分区的中间元...

2019-11-22 15:26:28

阅读数 180

评论数 0

原创 搜索算法-001-二维数组中的查找

文章目录题目描述分析代码 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析 根据二维数组的大小特性: 代码 # -*- coding:...

2019-11-21 13:19:40

阅读数 31

评论数 0

原创 C语言 中的 1.#INF

C语言 或者 C++ 中的 float 变量值变为 1.#INF: 表示无穷小 -1.#IND: 做除法时除数为0 1.#INF000:正无穷大 -1.#INF000:负无穷大 如何判断: include\<math\> isnan(num) ; // return bool ...

2019-11-20 20:12:42

阅读数 113

评论数 0

原创 全排列-027-字符串的排列

文章目录题目描述分析代码 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 注意:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。(去重) ...

2019-11-20 10:50:16

阅读数 24

评论数 0

原创 五大常用算法之-贪心算法

文章目录基本概念贪心算法的基本思路算法存在的问题贪心算法适用的问题贪心选择性质贪心算法的实现框架例题分析应用举例 基本概念 贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它所做出的仅仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设...

2019-11-19 20:45:42

阅读数 80

评论数 1

原创 Python一行代码能干什么

Python一行代码能干什么一行代码打印乘法口诀一行代码打印迷宫一行代码表白爱情一行代码打印小龟龟 一行代码打印乘法口诀 print('\n'.join([' '.join(["%2s x%2s = %2s"%(j,i,i*j) for ...

2019-11-19 10:43:56

阅读数 325

评论数 0

原创 动态规划-067-剪绳子

文章目录题目描述示例分析动态规划贪心算法代码动态规划贪心算法 题目描述 给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度...

2019-11-18 13:20:13

阅读数 42

评论数 0

原创 回溯法-组合总和 II

文章目录题目描述示例分析代码 题目描述 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 解集不能包...

2019-11-16 20:54:54

阅读数 33

评论数 0

原创 动态规划-052-正则表达式匹配

文章目录题目描述分析 题目描述 请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a&...

2019-11-15 20:38:17

阅读数 30

评论数 0

原创 动态规划-030-连续子数组的最大和

文章目录题目描述分析 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-...

2019-11-13 16:05:35

阅读数 29

评论数 0

原创 动态规划-010-矩形覆盖

文章目录题目描述分析 题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 分析 利用动态规划算法求解此问题: 阶段划分,状态表示, 状态转移方程:F(n) = F(n-1) + F(n-2)  &...

2019-11-12 22:03:54

阅读数 16

评论数 0

原创 动态规划-008-跳台阶

文章目录跳台阶问题题目描述分析代码变态跳青蛙题目描述分析代码 跳台阶问题 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 分析 完全同 Fibonacci 数列。 确定状态转移公式: 阶段定义:跳n阶台阶需要总可能跳...

2019-11-12 15:41:19

阅读数 30

评论数 0

原创 动态规划-007-斐波拉契数列

文章目录题目描述分析代码 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 分析 利用动态规划算法求解此问题: 阶段划分,状态表示, 状态转移方程:F(n) = F(n-1) + F(n-2) 边界条件:F(0) =...

2019-11-12 14:39:05

阅读数 36

评论数 0

原创 五大常用算法之-动态规划

文章目录基本概念基本思想与策略 基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解...

2019-11-11 17:31:29

阅读数 151

评论数 0

原创 回溯法-066-机器人的运动范围

文章目录题目描述示例分析代码 题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 示例 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,...

2019-11-09 20:07:23

阅读数 31

评论数 0

原创 回溯法-065-矩阵中的路径

文章目录题目描述示例分析代码 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 示例 例如: a b c...

2019-11-09 17:10:05

阅读数 48

评论数 0

提示
确定要删除当前文章?
取消 删除