自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 特征提取

问题描述:链接:https://www.nowcoder.com/questionTerminal/5afcf93c419a4aa793e9b325d01957e2?answerType=1&f=discussion来源:牛客网小明是一名算法工程师,同时也是一名铲屎官。某天,他突发奇想,想从猫咪的视频里挖掘一些猫咪的运动信息。为了提取运动信息,他需要从视频的每一帧提取“猫咪特...

2019-11-05 15:13:45 176

原创 动态规划求解旅行商问题python

问题描述:小明目前在做一份毕业旅行的规划。打算从北京出发,分别去若干个城市,然后再回到北京,每个城市之间均乘坐高铁,且每个城市只去一次。由于经费有限,希望能够通过合理的路线安排尽可能的省一些路上的花销。给定一组城市和每对城市之间的火车票的价钱,找到每个城市只访问一次并返回起点的最小车费花销。输入城市个数n,城市间的车票价钱,n行n列的矩阵。思路扩展:通常解决tsp问题的办法就是动态规划DP,D...

2019-11-05 11:14:14 2428 2

原创 python3.6+matlab.engine适用方法

环境:win10+python3.6+matalb2017b在经过了几次尝试后,我觉得这两个是有用的。最后也成功了https://blog.csdn.net/laurenitum0716/article/details/79134524按照这个链接,找到目录路径就可以了https://www.cppentry.com/bencandy.php?fid=77&id=21716...

2019-07-28 17:11:51 2875

原创 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?解答:uniquepaths functiondef uniquepaths(m,n): dp=[[1]*n]+[[1]+[0]*(n-1) for _ in r...

2019-07-12 11:20:03 110

原创 旋转链表

给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5...

2019-07-12 10:47:25 97

原创 螺旋数组搜索(含重复元素)

def search(nums, target): n = len(nums) if n == 0: return False left = 0 right = n - 1 while left <=right: mid = left + (right - left) // 2 if nums[mid]...

2019-07-11 11:16:02 228

原创 搜索旋转排序数组

假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2]...

2019-07-11 10:32:58 402

原创 括号生成

给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]具体思路如下: 当我们清楚所有i<n时括号的可能生成排列后,对与i=n的情况,我们考虑整个括号排列中最左边的括号。 它一定是一个左括...

2019-07-01 16:46:54 73

原创 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。def longestCommonPrefix(strs): r = [len(set...

2019-07-01 11:02:09 103

原创 两两交换链表中的节点

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.递归求解 class ListNode: def __init__(self, x): self.val = x ...

2019-06-27 15:44:27 76

原创 三数之和

给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]def threen...

2019-06-26 15:36:29 86

原创 容器装最多的水

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49def findma...

2019-06-22 16:28:20 235

原创 回文数

判断一个数字是否是回文数,例如121,true,-121,false1,将数字转换为字符串求解def reverse(x): num1=str(x)[::-1] if num1==str(x): return True return False2,反转一半数字def reverse(x): if x<0 or (x%10==...

2019-06-22 15:55:42 89

原创 最长回文子串

给定一个字符串S,找到S中最长的回文子串。假设S的最大长度为1000.示例1:输入‘babad' 输出’bab', 注意aba也是一个有效的答案输入‘cbbd' 输出’bb'解题思路:1.中心扩展算法:遍历每一个索引,以这个索引为中心,利用回文串中心对称的特点,向两边扩散,看最多能扩散多远。也要考虑回文串的奇偶def spread(s,size,left,rig...

2019-06-22 11:05:43 82

原创 python最大团问题

回溯法,编写最大团问题描述:团就是最大完全子图。(极大团)给定无向图G=(V,E)。如果U包含于V,且对任意u,v属于U且有(u,v)属于E,则称U是G的完全子图。G的完全子图U是G的团当且仅当U不包含在G的更大的完全子图中,即U就是最大完全子图。G的最大团是指G中所含顶点数最多的团。// 最大团: V中取K个顶点,两点间相互连接// 最大独立集: V中取K个顶点,两点间不...

2019-06-22 09:25:39 1595

原创 分支限界求解旅行商/货郎担问题 python

问题陈述:设G(V,E)是一带权有向图,V={1,2,…n }, 其耗费矩阵C=(ci,j)当(i, j) E时,记 ci,j= 且 ci,i= .问如何选择周游路线使耗费最小。算法思路:在本文中使用了图G的归约矩阵。如果矩阵的一行(列)至少包含一个零元素且其余元素均为非负,则此行(列)称为已归约行(列)。所有行和列均为已归约和列的矩阵成为归约矩阵。可以通过对一行(列)中每个...

2019-06-22 09:25:24 1604 1

原创 整数反转

给出一个32位的有符号整数,需要将这个整数中每位上的数字进行反转。假设环境只能存储32位有符号整数,如果反转后超过范围,就返回0.示例:输入123输出321输入120输出21def reverse(x): if -2**31<=x<0: # 将x转换为整数 x=str(x)[1:] # 将字符串x倒序...

2019-06-21 10:33:24 69

原创 寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组nums1 和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n)。假设nums1和nums2不会同时为空。我的思路:首先要求的时间复杂度是log(m+n);所以这里是要用到二分查找的算法中位数是指将一个集合划分为两个长度相等的子集,其中一个子集的元素总是大于另一个子集中的元素。将...

2019-06-21 09:39:43 85

原创 删列造序python

给定由 N 个小写字母字符串组成的数组 A,其中每个字符串长度相等。选取一个删除索引序列,对于 A 中的每个字符串,删除对应每个索引处的字符。假设,我们选择了一组删除索引 D,那么在执行删除操作之后,最终得到的数组的行中的每个元素都是按字典序排列的。比如,有 A = ["babca","bbazb"],删除索引序列 {0, 1, 4},删除后 A 为["bc","az"]。清楚起见...

2018-12-18 14:53:06 169

原创 n天后的牢房

8 间牢房排成一排,每间牢房不是有人住就是空着。每天,无论牢房是被占用或空置,都会根据以下规则进行更改:如果一间牢房的两个相邻的房间都被占用或都是空的,那么该牢房就会被占用。 否则,它就会被空置。(请注意,由于监狱中的牢房排成一行,所以行中的第一个和最后一个房间无法有两个相邻的房间。)我们用以下方式描述监狱的当前状态:如果第 i 间牢房被占用,则 cell[i]==1,否则 cel...

2018-12-18 11:10:40 349

原创 全排列问题python

1.给定一个数组,数组内含有重复元素,对数组中的元素进行全排列,输出排列组合def unique(nums):##去掉重复的排列 begin=0;end=len(nums) result=[] if end==0: result[[]] permute_temp(begin,end,nums,result) result.sort()...

2018-12-17 19:59:21 860

原创 双人游戏问题

 有如下一个双人游戏:N个正整数的序列放在一个游戏平台上,两个人轮流从序列的两端取数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束,以最终的分多者为胜利。编写一个执行最优策略的程序,最优策略就是使得自己能在当前情况下得到最优策略。要求程序要始终为第二位玩家执行最优策略。该题目的动态规划方程是:设sum(s,t)为区间s,t中的数字和,gain(s,t)为按照最优策略能获得...

2018-12-17 15:38:03 931

原创 最长公共子序列

如果字符串1的所有字符按照在字符中的顺序出现在另外一个字符串2中,则字符串1称之为字符串2 的子串。注意,并不是要求子串(字符串1)的字符必须连续出现在字符串2中。请编写一个函数,输入两个字符串,求它们的最长公共子串,并打印出最长的公共子串。例如,输入两个字符串BDCABA和ABCBDAB,字符串BCBA和BDAB都是他们的最长公共子串,则输出他们的长度为4,并打印任意一个子串。def ...

2018-12-17 11:28:27 178

原创 整数划分问题python

动态规划,设计一个算法,给出整数N,算法应该输出划分方案的总数,如果不存在这样的划分,则输出0 def cutting_count(arr): dyn=[0 for i in range(100)] n=len(arr) s=n*(n+1)/2#等差数列前N向求和 if (s%2):#因为要把总和分成两个相等求和的集合,因此总和必须能被2整出,否则一个...

2018-12-17 11:15:55 1773

原创 最小生成树python,prim

1) 算法的基本思想:普里姆算法的基本思想:普里姆算法是一种构造最小生成树的算法,它是按逐个将顶点连通的方式来构造最小生成树的。从连通网络 N = { V, E }中的某一顶点 u0 出发,选择与它关联的具有最小权值的边(u0, v),将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(u, v),把该边加入到生成树的边集TE中,...

2018-12-15 10:54:26 423

原创 集合覆盖问题python

问题描述:        一个集合U以及U内元素构成的若干个小类集合S={s1,s2,...,sm},每一个si均有一个价值。给的那个一个算法,要找到S的一个子集,该子集满足所含元素包含了所有的元素且使得小类集合的总价值最小。        例如,U=【1,2,3,4,5】,S=【s1,s2,s3】.其中,s1=【4,1,3】,s2=【2,5】,s3=【1,4,2,3】,并且,Cost(s...

2018-12-13 21:16:57 3389 2

原创 装箱问题python

给定n件物品的序列,以及容量为c的箱子。要求将物品装入到箱子,每一个箱子装入的物品总重量不能超过箱子的容量。给出一个算法,要求用最少的箱子数将物品全部装入。比如有六个物品,其重量分别为【4,8,1,4,2,1】,箱子容量c=10.那么最少需要2个箱子将物品全部装入,其中一个箱子装入【4,4,2】,另外一个装入【8,1,1】。def get_min_boxes(things,box_wei...

2018-12-13 18:39:17 10242 5

原创 python判断无向图环是否存在

 暂时是一个手动设置无向图中的边,用一个二维数组表示,后面会改进为用户自己定义无向图的边。学习python的新手,若大佬有解决的办法,希望不吝赐教#无向图判断环是否存在def dfs(u,fa): for i in range(v): n=g[u][i]#n为图中的顶点数 # print(u,n,fa,i,'') if n in ...

2018-12-12 21:49:02 2217

原创 python判断在有向图中,是否存在环

 记录学习python的过程import numpyfrom numpy import *def dfs(v): vis[v] = -1 flag = 0 for i in range(n): # print(v,i) # print (a[v][i],'---', vis[i] ) if a[v][i] != 0 ...

2018-12-12 19:17:50 4570

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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