自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 问答 (2)
  • 收藏
  • 关注

原创 23.Merge K Sorted Lists

第一种方法:分治法。思路:有点类似于MergeSort的思路,就是分治法,不了解MergeSort的朋友,请参见归并排序-维基百科,是一个比较经典的O(nlogn)的排序算法,还是比较重要的。思路是先分成两个子任务,然后递归求子任务,最后回溯回来。这个题目也是这样,先把k个list分成两半,然后继续划分,直到剩下两个list就合并起来,合并时会用到Merge Two Sorted List

2015-06-29 20:48:23 389

转载 linux core文件GDB调试方法

一、如何使用core文件1. 使用core文件在core文件所在目录下键入:gdb -c coreXXX它会启动GNU的调试器,来调试core文件,并且会显示生成此core文件的程序名,中止此程序的信号等等。如果你已经知道是由什么程序生成此core文件的,比如MyServer崩溃了生成core.12345,那么用此指令调试:gdb -c co

2015-06-29 16:30:57 5925 1

原创 53.Maximum Subarray

思路:三种方法:1.暴力遍历:两层循环,不必多说2.分治法:3.动态规划:现在对线性时间解法做一下解释,属于一种DP问题。已知了前k个元素的最大子序列和为maxSub(已经被记录下来了),以及一个临时和sum,如果添加了第k+1这个元素,由于是连续子序列这个限制,所以如果k+1这个元素之前的和是小于0的,那么对于增大k+1这个元素从而去组成最大子序列是没有贡献的,所以可以把sum

2015-06-28 23:54:01 244

原创 215.Kth Largest Element in an Array

思路:分治法,其实思路跟动态规划基本一样,只不过用递归的方式去解决问题。总结分治法的框架就是:solve函数(相当于动态规划的状态划分函数,这个比较关键,找到了,问题基本就解决了)+递归使用(相当于动态规划的递推关系)。本题的solve函数是一遍快排。class Solution {public:        //递归的使用一遍快排,直到前面的的数刚好凑够k个。   

2015-06-26 21:12:15 324

原创 169.Majority Element

思路:用几个额外变量,然后遍历一次就可找到。遍历到相同元素就加1,否则减1,遇到0就将当前的majority改成当前元素继续。class Solution {public:    int majorityElement(vector& nums) {        //init        int len=nums.size();        if(len==0)

2015-06-25 16:48:27 330

原创 搬移网站程序到不同服务器的操作流程

1.      安装wampserver(注意是32位还是64位)2.      建立数据库:到phpMyAdmin下执行脚本db_sln.sql和all_sql.sql。3.      修改数据库密码:见我博客。4.      将学习网站的程序拷贝到wamp/www目录下。5.      在浏览器输入服务器机器的ip,可能会出现以下错误:查看Apache服务器的err日志

2015-06-22 18:03:32 605

原创 网站搭建之html

网站搭建之html之前完全没学过html,边做项目边学习,顺便总结一些本次项目用到的基础和常用知识点,知识点来源于“W3school在线课程+随时百度”。一.W3school的一些知识点笔记:这部分可以参考W3school的HTML速查手册。二.本次项目中使用到的PHP知识点总结。-------------------------------------------------

2015-06-22 17:45:39 668

原创 145.Binary Tree Postorder Traversal

思路:跟前序遍历的非递归类似。请参考前序遍历的注释。唯一不同的地方是在输出值的位置不一样/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x)

2015-06-19 20:01:23 308

原创 144.Binary Tree Preorder Traversal

思路:栈可以改写任何递归。想清楚二叉树遍历所对应的栈操作,然后用额外的标记信息区分节点的状态就行了。具体的看代码注释吧。/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *    

2015-06-19 19:39:23 268

原创 224.Basic Calculator

思路:这次代码写的有点冗长,看看思路就行。用栈。先去掉空白。然后遇到(就保存下标记,遇到)一直出栈并累加值,直到遇到第一个标记,将新值入栈;如果既不是(也不是),就将该值直接入栈。当遍历完所有字符之后,再将栈中的元素全部累加,return。class Solution {public:    int calculate(string s) {        stack > add_

2015-06-19 17:03:16 298

转载 Reservoir Sampling - 蓄水池抽样

问题起源于编程珠玑Column 12中的题目10,其描述如下:  How could you select one of n objects at random, where you see the objects sequentially but you do not know the value of n beforehand? For concreteness, how woul

2015-06-18 16:39:39 242

原创 71.Simplify Path

思路:用栈,遇到/./或者结尾是/.或者//什么都不做,继续遍历;遇到/../或者结尾是/..就将栈顶元素一直出栈直到遇到“/”为止;遇到其他元素就入栈。本题思路简单,但是写起来很容易出错。特别是在出栈前要判断栈是否为空,以及类似于/.../这样的情况怎么处理。class Solution {public:    string simplifyPath(string path) {

2015-06-17 15:19:56 380

转载 字符串原地压缩

题目:将字符串原地压缩,比如"eeeeeaaaff"压缩为 "e5a3f2"。答:#include "stdafx.h"#include using namespace std;//字符串原地压缩void CompressString(char *str){ if (NULL == str) { return; }

2015-06-15 13:50:58 685

原创 Mysql常用命令

1.查看所有数据库Show databases;2.查看所有账号用户,并且修改某个数据库的密码Use mysql(只有在名为“mysql”的数据库中才有user这个表存在);Select * from user;Select user from user;修改用户密码:Set password for XXX=password(‘mima’); 3.

2015-06-14 21:59:11 414

原创 网站搭建之php

W3school在线课程+随时百度

2015-06-14 21:13:32 436

原创 14.Longest Common Prefix

思路:直接明了。找出最短的字符串,然后跟第一个字符串比较,用比较得到的结果去跟第二个字符串比较。直到结束。时间复杂度O(mn),实际会好点class Solution {public:    string longestCommonPrefix(vector& strs) {        int nums=strs.size();        if(nums==0) ret

2015-06-12 12:51:26 267

原创 42.Trapping Rain Water

思路:这个算最大储水量的。用栈。找到第一个峰值入栈,然后往后遍历:“如果小于该峰值就入栈,直到当前值比峰值大,就可以开始出栈并同时计算储水”,然后更新峰值,继续重复这个操作直到vector遍历完。注意:如果最后是递减的,即最后一个vector元素不是峰值,那么就得特殊处理了。时间复杂度O(n)代码:class Solution {public:    int trap(vector

2015-06-11 21:19:13 428

原创 如何修改WAMP中mysql默认空密码&重新登录phpmyadmin

WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作。首先,通过WAMP打开mysql控制台。 提示输入密码,因为现在是空,所以直接按回车。然后输入“use mysql”,意思是使用mysql这个数据库,提示“Database changed”就行。然后输入要修改的密码的

2015-06-06 13:41:00 451

原创 20.Valid Parentheses

思路:普通的栈class Solution {public:    bool isValid(string s) {        stack the_stack;        for(int i=0;i            if(s[i]=='('|| s[i]=='{'|| s[i]=='['){                the_stack.push(

2015-06-06 11:57:32 258

原创 搭建一个视频和论坛网站的一些总结

web服务器搭建:一.框架介绍采用Apache+Mysql+PHP的组合。用wamp软件(包含了整套组合Apache+Mysql+PHP),在windows下安装很方便,mysql除了命令行界面,也有phpMyAdmin界面。当然也能运行在linux下。二.所需知识点由于项目时间比较匆忙,所以这里介绍下从零快速搭建服务器的一些准备知识。1.phpW3school在线课程

2015-06-02 22:29:20 1941

原创 python读写文件

一、打开文件Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用程序。代码如下:f = open("d:\test.txt", "w")  说明:第一个参数是文件名称,包括路径;第二个参数是打开的模式moder 打开只读文件,该文件必须存在。 

2015-06-02 21:34:05 357

原创 32.Longest Valid Parentheses

思路:一维数组的动态规划:状态划分:dp[i]表示以s[i]作为有界的()序列的最大长度。递推式:s[i]如果是(,dp[i]=0;s[i]如果是),则分情况讨论,如果s[i-1]为(,那么dp[i]=dp[i-2]+2;如果s[i-1]为),那么若s[i-1-dp[i-1]]为(,那么 dp[i]=dp[i-1]+2+dp[i-2-dp[i-1]];注意红色部分为

2015-06-01 19:59:11 265

空空如也

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

TA关注的人

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