runner668的博客

古之立大事者,不惟有超世之才,亦必有坚忍不拔之志

图的深度搜索

终于进行到这一阶段了! 对于图问题,标准的解法是 标记数组加 dfs, 考查的抽象能力:情景问题转换为图的搜索问题。 第一个简单的问题:岛屿问题 #include <iostream> #include <vector&...

2018-09-09 17:52:34

阅读数:31

评论数:0

将整数拆分成四份

  class Solution(object): def helper(self, s, dotnum, ret, rets): if dotnum > 4 or (len(s) / 3 > 4-dotnum): ...

2018-09-09 17:16:02

阅读数:35

评论数:0

高效面试之实现strcpy等简单库函数

atoi,itoa strcpy,strstr,strcmp memcpy,memove,memset 1.itoa  注意:字符串倒置 char* itoa(int a,char* string) { int i=0,j=0; char temp[10],...

2018-09-07 22:31:23

阅读数:22

评论数:0

美团笔试-图的最短路径-树的深度-python

这道题不要求保存路径,因此就不用列举所有的可能性(实习也很难遍历完每种可能),上图题解就是一个很好的思考过程,我们不需要一个一个尝试,只需知道有种路径一定是先遍历短路径子树,最后再遍历长路径子树就可以了。 输入输出类似:因为实在找不到原题了 第一种解法:利用python数组列表保存...

2018-09-07 20:00:10

阅读数:57

评论数:0

设计LRU实现get和put操作

这道题重在数据结构的使用,要求是o(1)的时间复杂度完成上面两个操作,自然想到了哈希。 第一种解法:用数组实现哈希 #include <vector> #include <iostream&gt...

2018-09-04 23:25:39

阅读数:114

评论数:0

装箱问题

装箱问题是背包问题的变形,其中相对背包问题要简单一点。 一:装箱剩余问题 问题描述   有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。   要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入格式   ...

2018-09-04 15:55:41

阅读数:70

评论数:0

公共子串加全排列

// INCLUDE HEADER FILES NEEDED BY YOUR PROGRAM // SOME LIBRARY FUNCTIONALITY MAY BE RESTRICTED // DEFINE ANY FUNCTION NEEDED // FUNCTION...

2018-09-04 00:14:09

阅读数:13

评论数:0

字符串的最大子串问题

基于字符串的最大子串问题是经常面试的问题,想要表现的好不但要会基础的方法,同时还要学会优化的算法。 常考的有两个问题: 1:两个字符串的最大公共子串(还可能是子序列) 2:同一个字符串中相同的最大子串问题 例如输入qweabcuwabcfw,输出结果为:重复字符串的长度3和位置4 一:求...

2018-09-03 16:04:48

阅读数:74

评论数:0

数组中只出现一次的数字

第一:出现两次 剑指offer的10题,求一个数组中只出现一次的两个数,本地的解决思路主要是位运算! 重点是将两个数字分别放在一个数组中,然后对这两个数组求异或,当然在程序中是同时进行处理的。 class Solution { public:     void FindNumsA...

2018-09-02 17:05:17

阅读数:7

评论数:0

生成括号-回溯的应用

问题:n对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(()) 本文就是一个简单的练手:但是重在学习给递归添加约束得到我们预期的结果! 思路:问题可转化为:在一个string中包含两个字符:'('和')',他们出现的次数都为n,并且任何时候'('出现的次数总是&am...

2018-09-02 15:43:53

阅读数:41

评论数:0

二叉树中两个节点的最低公共祖先

求二叉树树中的两个节点的最低公共祖先是个有趣的问题,涉及到对递归的理解。 可以参考博客:https://www.cnblogs.com/felixfang/p/3828915.html 转自:http://gaotong1991.iteye.com/blog/2042770   方法一 ...

2018-09-02 10:33:08

阅读数:61

评论数:0

python面向对象的三大特性

在网上看到了两篇讲的不错的帖子,在这里做了一个整理,感谢一下两位作者。 https://www.cnblogs.com/lfpython/p/7346385.html https://www.cnblogs.com/wpcbk/p/8856828.html 一、继承        面向对象...

2018-09-01 20:53:27

阅读数:32

评论数:0

基于merge的归并排序

归并排序基于分制思想(二分法),可以将事件复杂度降低到 nlog(n),在很多情况下都能用到! 归并排序的重点是合并函数的partation()的书写。本文结合几个简单的例子,分别引出数组和单向链表的partation函数的书写。 一:数组的归并排序 /****合并函数****/ vo...

2018-09-01 16:55:12

阅读数:13

评论数:0

求连续子数组的最大和

一般考数组的题目,重在挖掘数字时间的规律,只要找到规律就可以写递推关系式,很容易编写基于循环的 或者是动态规划的程序。   第一种解法:基于sum更新的解法 class Solution { public:     int FindGreatestSumOfSubArray...

2018-09-01 14:44:56

阅读数:20

评论数:0

算法分析之动态规划三

       前两篇是在上算法课的时候对动态规划的初步了解,今面临找工作的需求,又把动态规划复习了一下,在理解上比之前更深了一点点,之前太偏向于解决单个问题。例如 0-1背包问题,现在站在程序设计与优化的角度结合两篇不错的博客来做个简单的整理。 本篇重在分析动态规划与递归的关系: 动态规划分两...

2018-09-01 10:59:22

阅读数:21

评论数:0

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