- 博客(129)
- 收藏
- 关注
原创 换个体位 豁然开朗 --- Jump Game &&Best Time to Buy and Sell Stock VI
1、Jump Game (Leetcode 55)题目大意 给定一个数组a[], a[i]表示 从当前点能向前跳的最大距离,问是否能跳到数组a的最后一个位置 。解题思路 很容易想到穷举,依次判断第 i 个点前的全部点能否到达i点,若存在任意一个可达即表明此点可达,由此得到O(n*n)的算法如下public class Solution { int[] s
2017-03-06 23:24:20
478
原创 Trips and Users ---刷完database 留念
题目大意 给定Trips表和Users表,trips记录每次打车订单的情况,users表示目前存在的用户信息,求10月1号到3号之间,非禁止的用户打车预订终止率解题思路 首先肯定是将两张表进行连接,由于一切都是以client为中心的,因此这里使用client_id的左连接,然后统计当前天非禁止用户下单终止个数counter,同时将结果按照天数进行分组并统计
2015-08-20 23:26:41
1350
原创 Rotate Image------旋转图片(in-place版本)
题目大意 用二维数组(方阵)表示一幅图片,在O(1)空间复杂度的前提下完成图片顺时针旋转90度解题思路 首先,如果只是单纯旋转图片90度,可以根据当前矩阵内容将其按一定规则复制到另一个矩阵当中,然后将复制完毕的矩阵覆盖回原矩阵,但这样显然无法做到in-place。那么只能利用矩阵的一些特点来实现就地旋转,显然就只能分析本地元素位置的关系。将方阵看成
2015-08-19 13:44:48
788
原创 如何在C++中实现java final标识的类的功能
Java中被final关键字标识的对象或者变量往往都意味着不能在运行时被动态更改,final的类则无法被继承。在C++中,变量可以用const声明为常量来表示相同的效果,而关于类的继承限制似乎没有相应的关键字予以实现,但借助于目前C++的相关机制,是能够手动实现final类的功能的,相关代码如下:#include #include #include #include #include
2015-08-02 17:48:54
874
原创 阿里云·一面没回答清楚的问题盖戳留念(答案随时更新)
1、静态链接、动态链接分别是什么意思?动态链接(dll)过程是由什么完成的?2、红黑树是什么?红黑树节点染色的作用?3、TCP协议三次握手建立连接、四次握手中断连接的全过程4、TCP如何保证传输的可靠性?5、详细讲述一下访问http网站的全部交互过程6、Spring框架中,控制反转如何完成,其依赖注入方式有哪几种?7、描述一下Hibernate和struts框架8、线程
2015-07-14 22:55:27
1364
原创 Shortest Palindrome ---再见回文和KMP
题目大意 给定串S,要求在其前面(in front of)增加最少的串构成回文并输出回文串。解题思路 席八,这个题目无愧其hard的标签,我想破脑袋也才想了个宽搜的暴力,而且还忽略了要加载S串前面的基本要求,审题不仔细,还是太浮躁了。这题没做出来,仔细琢磨了网上的解法,现总结如下: 先明确几个理论,以后想回文相关的题目从这几点入手:
2015-07-01 13:53:40
2278
1
原创 220 Contains Duplicate III
利用multiset底层是由二叉平衡树的特性优化算法过程此题注意 1、multiset 是按照递增顺序进行检索的 2、multiset 的upper_bound(num)方法是大于num, lower_bound(num)是大于等于num,返回的都是首次满足条件的迭代器位置
2015-06-18 17:19:53
1479
原创 C++primer
第二章 变量和基本类型(1)[cpp] view plaincopyprint? string a= "da"; cout"xiba"sizeof(a)//字符串末尾会有一个空字符 //在一行末尾加上一反斜线可以将此行和下一行当做同一行处理,注意下一行的行首空格也会被算进,因而不能有任何缩进,即使是制表
2014-11-20 12:31:15
642
原创 Construct Binary Tree from Preorder and Inorder Traversal
题目大意 给定一个有序链表,将其转变为一颗高度平衡的平衡二叉树解题思路 让我们先回顾一下平衡二叉树的定义,在二叉平衡树的基础上其左右子树的最大深度不大于1。既然给定的字符串是有序的,那我们从中点开始向左右依次构建,即使用递归一直重复:找中位数,构造左子树,构造右子树的过程,必然就能很理想地构建出一棵完全平衡二叉树。总结 题目不
2014-11-09 13:32:48
674
原创 Convert Sorted List to Binary Search Tree ---请叫我变形金刚(please call me a transformer)
题目大意 给定一个离岸解题思路 字符串匹配并且要求结果只为一个数字的时候,很多情况都是使用DP,这题也不例外,建立数组dp[i][j]表示按题目要求当前T串前i个字符匹配S串前j个字符的匹配结果。建立转移方程:当T[i] != S[j] 时,显然其值不会改变,因此dp[i][j] = dp[i][j-1];当T[i] == S[j] 时
2014-10-25 23:27:38
779
原创 我没有说谎(5min)
Four people are in a groupAlice says,”Exactly one of us is lying.”Bob says, ”Exactly two of us are lying.”Charles says, “Exactly three of us are lying.”Dick says, “All four of us are lying.”
2014-10-15 12:47:24
714
原创 那些最熟悉的陌生人们(不定期更新)
一、int const *a, const int *a, int * const a, const int *const a的异同
2014-09-19 11:17:15
698
原创 运行的前戏------编译连接全过程理解
一、 前言 高度封装的事物(如各种IDE)在提供便捷操作的同时也失去了许多美好的内部细节,往往让让使用者只知道how to use 而不知道how to achieve,因而在出现一些封装内部的错误时就会让使用者手足无措,因此了解其内部的大致运行过程将有助于处理一些集成环境不提示的错误。二、基本概念 编译: 编译器对源代码进行编译,是将以文本形式
2014-09-18 15:15:31
1022
原创 关于字节对齐的理解
字节对齐的剖析一、需要了解的名词和概念1、数据类型自身的对齐值:即数据本身所占字节长度。2、结构体或类的自身对齐值:即其中数据成员类型对齐值的最大值。3、指定对齐值:由编程人员通过#pragma pack(value)指定的value值,通过#pragma pack()代码解除。4、结构体、类、数据成员的有效对齐值:即2、3以及当前计算机总线长度三者的最大值。5、圆整: 即
2014-09-17 11:52:58
3598
2
原创 CSS、JavaScript、html相关知识复习(不定期更新,注定逻辑混乱毫无章法,不适合做入门资料纯当业余吐槽)
CSS: 全称JavaScript:html:
2014-09-11 20:48:15
664
原创 Distinct Subsequences----匹配个串串
给定母串S和待匹配串T,求T能在母串S中匹配多少次(不一定要连续匹配,并且母串中多个相同字母可以依次使用,但均只能使用一次,如S=rabbbit T=rabbit, 则S中三个连续的b可以依次匹配T中两个bb各一次())
2014-09-11 16:48:59
879
原创 中秋快乐&&股市飘红--- Best Time to Buy and Sell Stock III&& II&&I
题目大意 给定一个数组a,a[i]表示第i天的股票价格,解题思路 很容易想到树形DP对吧,我觉得应该属于简单的树形DP,唯一要注意的是题目说是路径,那就只会有唯一的一个起点和终点(可能相同),显然对于树上DP到的当前节点,可以分为以下两种种情况考虑: 1、当前节点为某一路径上的点,即当前节点连接其子节点和父节点,那么就应该用当前节点的val加上其
2014-09-08 23:21:54
813
原创 DP与贪心算法的一点浅见
DP:考虑且仅仅考虑由前一阶段状态转移到当前状态后,递推并选取出当前状态的最优解,具有无后效性和最优子结构的基本特征,其中所谓的无后效性是指:“下一时刻的状态只与当前状态有关,而和当前状态之前的状态无关,当前的状态是对以往决策的总结”。因此DP是由前一阶段的一系列阶段转移并选取最优而来,即抵达当前状态路径不唯一,仅是最终最优结果唯一。DP设计的具体步骤: (1)划分阶段:按照问题的
2013-04-26 12:14:38
7288
1
原创 欧拉回路及哈密顿回路浅见(UVA10054\POJ 2230\POJ2438\HDU1116)
欧拉图:在图为连通图的前提下,欧拉通路:当前图中经过每条边一次且仅一次,若最终回到出发点则称为欧拉回路。相关判定条件(图联通) (1)无向图存在欧拉回路的条件是:图中不存在奇度结点,有向图存在欧拉回路的条件是:每个结点出度均等于入度。 (2)无向图存在欧拉通路的条件是:图中仅存在两个奇度结点(起点和终点),有向图存在欧拉通路的条件是:存在两个结点入度
2013-04-01 16:03:11
6281
原创 POJ2226 Muddy Fields
最小点覆盖#include #include using namespace std;const int size = 700;char mapp[60][60];int num1, num2;int mapp1[size][size], mapp2[size][
2011-09-05 20:29:40
766
原创 POJ2112 Optimal Milking
二分+最大流#include #include using namespace std;const int MAXN = 250;const int MAXE = MAXN*MAXN;struct node{ int v, w, next;
2011-09-04 21:50:54
743
原创 POJ2472 106 miles to Chicago
简单最长路径,一个小技巧就是将每条边权值取对数,然后SPFA一次就可以了#include #include #include using namespace std;const int MAXN = 110;const int MAXM = MAXN*MA
2011-09-03 10:58:21
957
原创 POJ1949Chores
比较简单的DP,注意这一句话Farmer John's list of chores is nicely ordered, and chore K (K > 1) can have only chores 1,.K-1 as prerequisites意思是在完成第K个任务时
2011-09-01 11:25:59
741
原创 POJ2267 From Dusk till Dawn or: Vladimir the Vampire
题目大意是一只吸血鬼(--!)要从一座城市抵达另一座城市,但是他只能乘坐火车,每个城市之间的火车都有一个到站时间和发车时间,既然是吸血鬼,那么每到中午12:00就要喝一公升的鲜血,吸血鬼只能乘坐区间段在0:00~6:00或者18:00~0:00之间的车(也就是说发车时间和抵达时间
2011-09-01 10:06:24
1121
原创 POJ2060 Taxi Cab Scheme
注意一辆太可惜是从一个起点到达终点再从这个终点抵达下一个位置的起点,最小路径覆盖#include #include using namespace std;const int size = 600;struct node{ int
2011-08-29 20:11:09
687
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人