自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mazhichao300的专栏

不断学习

  • 博客(65)
  • 收藏
  • 关注

原创 常见的WEB安全漏洞

安全漏洞分类作用于服务端的漏洞,作用于客户端的漏洞常见的服务端漏洞不好的设计基于机制不可知来隐藏敏感信息是不安全的<?php// 用可预测的COOKIE值判断管理员if ('admin' == $_COOKIE['role']) { echo 'Welcom, admin'; echo 'You can do whatever you want';}// 基于MD5生成TOKE

2016-08-22 20:47:47 747

原创 文本分类的调研

最近拿到一批用户对产品的反馈数据,需要进行文本分类,找出用户的痛点,从而发掘产品的优化方向。本文主要调研了:LDA主题分类模型(python gensim包);Naive Bayes;SVM;首先调研了LDA主题分类模型,使用python gensim包,代码如下:import jiebaimport jieba.analyseimport os, sysfrom gensim i

2016-07-17 22:45:36 666

原创 python学习

python文件操作python redisbsdiff4

2016-06-14 23:17:39 1297

原创 MAC修改用户名

设置->共享中的名字更改设置->用户群组中的名字修改shell中的hostname修改:sudo scutil –set HostName yourname

2016-06-10 15:30:29 812

转载 import,mysql,urldecode操作

代码过程中碰到3个问题: 不清楚import原理、如何urldecode,如何进行mysql操作(事务,以及如何做到读互斥)贴几篇看到的文章:数据库并发访问、事务与锁的关系python中的urlencode与urldecodeMYSQL–事务处理import与from…import的不同之处 Mysql 事务

2016-06-10 11:33:01 677

原创 上海居住证办理流程

办理流程居委会出具的房屋租赁合同登记备案办证通知单租赁合同原件复印件房东身份证、共有人身份证复印件房产证复印件承租人身份证注意事项人均居住面积不低于5平米备案要求房东到场

2016-06-10 11:24:33 480

原创 php curl post file

php curl file upload

2016-06-07 22:54:16 421

转载 PHP加密解密

http://www.php.net/manual/en/function.mcrypt-encrypt.php

2016-06-04 08:44:04 611

原创 mysqladmin

今天碰到一个问题: mysql_connect(): Host ‘xxx’ is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'然后尝试:mysqladmin flush-hosts, 报错 Can't connect to local MySQL serve

2015-07-23 11:08:15 372 1

转载 SecureCRT配色方案

个人感觉一个比较舒服的SecureCRTpei

2014-04-17 09:36:53 849

原创 Redhat下vim中文乱码问题

设置 ~/.vimrc为:con

2014-04-08 17:16:51 691

原创 1064. Complete Binary Search Tree

#include #include #include #include #include #include #include using namespace std;vectorv;int ans[1010];int n;int indexOfRoot(int size){ double t = log(size + 1) / log(2); int level =

2013-08-30 23:33:28 511

原创 1063. Set Similarity

#include #include #include #include #include #include #include using namespace std;double res[60][60];vector >v;double cal(int x, int y){ if(!(res[x][y] < 0)) return res[x][y]; set::ite

2013-08-30 22:58:29 361

原创 1033. To Fill or Not to Fill

贪心算法,过程如下:定义可达范围:从每一个加油站出发,能到达的最大距离;(即加满油时的情况)所以我们在每一个加油站, 保证当前的油恰好可以到达 可达范围内第一个比当前油价便宜的加油站,如果可达范围内都比当前油价贵,那就加满油(特例是终点在可达范围内,就不需要加满)。思路还算清晰, 可代码写起来怎么那么纠结。。。有时间再去优化代码。#include #include

2013-08-21 17:18:57 625

原创 Merge k Sorted Lists

用到优先队列。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: str

2013-08-20 16:49:39 508

原创 Rotate Image

按层操作。class Solution {public: void rotate(vector > &matrix) { // Start typing your C/C++ solution below // DO NOT write int main() function int n = matrix.size();

2013-08-20 16:12:19 353

原创 Minimum Window Substring

两个指针: i,j 开始均指向S开头,不断向后移动 j 直至从 i 到 j 能够包含T,之后要尝试移动 i ,同样要保证 i - j包含T。class Solution {public: string minWindow(string S, string T) { // Start typing your C/C++ solution below

2013-08-20 09:57:13 393

原创 Search in Rotated Sorted Array II

和http://blog.csdn.net/mazhichao300/article/details/9950089类似,只是第三种情况的时候,我们无法再去排除一半,只能两边都去搜索。比如:3, 6, 3, 3, 3(target = 6)就无法确定。这样时间复杂度是多少呢?class Solution {public: bool bs(int a[], int star

2013-08-13 16:44:04 459 1

原创 Search in Rotated Sorted Array

可以采用二分查找。分为3种情况:一, 5, 6, 1, 2, 3 即a[mid] 二,5, 6, 7, 1, 2 即a[mid] >= a[start] && a[mid] > a[end]三,1, 2, 3, 4, 5 即a[mid] >= a[start] && a[mid] 这三种情况是针对数组旋转之后的结果分的。当然,对于每一类,我们还需要考虑是排除前一半还是后一半。

2013-08-13 16:21:00 384

原创 Search for a Range

利用二分找到第一个和最后一个匹配。class Solution {public: int findFirst(int a[], int n, int start, int end, int key) { while(start <= end) { int mid = (start + end) >> 1;

2013-08-12 11:21:42 346

原创 Permutation Sequence

解法一:最容易想到的就是求出所有的排列组合结果,然后找到第K个返回。class Solution {public: bool flag[15]; char s[15]; string ans; int count = 0; void cal(int n, int index, int k) { if(count == k) re

2013-08-07 17:27:27 358

原创 Best Time to Buy and Sell Stock III

以每一个i, 计算出从 0 ~ i, i +1 ~ size 两段的最大收益。 再找出两者和最大的就可以了。class Solution {public: int maxProfit(vector &prices) { // Start typing your C/C++ solution below // DO NOT write int main(

2013-08-07 12:09:44 563

原创 Best Time to Buy and Sell Stock II

贪心算法,有利可图即买入,卖出。class Solution {public: int maxProfit(vector &prices) { // Start typing your C/C++ solution below // DO NOT write int main() function int len = prices.si

2013-08-06 20:19:57 576

原创 Surrounded Regions

BFS,开一个二维数组标记board中的元素是不是被访问过(初始化为false)。  然后从board边界处的'O'开始BFS,访问到的标记为true。最后遍历标记数组,把未访问过的O改为X。class Solution { public: void solve(vector> &board) { // Start typing your Java solution

2013-08-06 19:43:04 468

原创 Longest Consecutive Sequence

用set,注意当遍历set后,要把对应的值从set中清除掉,这样会大大减小复杂度。用unordered_set时间会更快,后面了解下set 和 unordered_set的区别。class Solution {public: setv; int getLen(int x) { int len = 1; int start,

2013-08-06 15:02:31 403

原创 Longest Substring Without Repeating Characters

解题思路:两个指针,开始都指向字符串起始位置, 然后指针2向后遍历直至从pos1到pos2的子串出现重复字符,这时pos1开始自增,直至从pos1到pos2没有重复字符。也就是遍历2遍,复杂度O(n)。class Solution {public: int lengthOfLongestSubstring(string s) { // Start typing y

2013-08-06 11:24:28 458

原创 Trapping Rain Water

class Solution {public: int trap(int A[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function int *leftMax = new int[n + 5]; int

2013-08-06 10:49:11 494

原创 Travel Plan

http://pat.zju.edu.cn/contests/pat-a-practise/1030单源最短路径,多个权值的情况。#include #include #include #include #include #include using namespace std;#define INF 0x0FFFFFFFstruct Node{ int dis, co

2013-08-02 16:00:34 439

原创 Median of Two Sorted Arrays

解析在这里:http://blog.csdn.net/mazhichao300/article/details/9714291  稍有不同,解析处是针对于求中间元素。而本题可以求第K个元素。  class Solution {public: int findMedian(int *a, int lena, int *b, int lenb, int median) {

2013-08-02 14:57:14 456

原创 Median

http://pat.zju.edu.cn/contests/pat-a-practise/1029二分搜索median。#include #include #include #include #include #include using namespace std;long long *a, *b;int binaryS1(long long *v, long lo

2013-08-02 11:15:42 665

原创 Best Time to Buy and Sell Stock

对于第i个节点, 计算出从 0 - i的最小值, 从i + 1  -  n 的最大值。public class Solution { public int maxProfit(int[] prices) { // Start typing your Java solution below // DO NOT write main() functi

2013-07-29 22:14:14 397

原创 The Dominant Color

http://pat.zju.edu.cn/contests/pat-a-practise/1054求数组中出现次数超过一半的那个数字(题目保证一定存在)。解法一:用哈希表。这里就不给出代码了。解法二:有一个数字出现次数超过了一半,也就是说,剩余的数字出现次数之和也没有这个数字多。 那我们可以用如下方法统计:num记录当前数字,times记录当前数字出现的次数,当新遍历到一个数

2013-07-25 22:26:11 364

原创 PAT 1008

Elevator按照给定顺序处理,对于每一个数字(可以理解为每一个人)都要停留5秒钟。#include #include #include #include using namespace std;vectorv;int main(){ int n, x, i; cin>>n; for(i = 0; i < n; i ++) { cin>>x; v.pu

2013-07-25 22:03:24 365

原创 Longest Valid Parentheses

DP题,过程如下:计算出以每一个元素结尾所能形成的最长合法括号子串,其中最大值即为所求。记当前位置下标为 i :1,若 i 位置为 ' ( ' ,则dp[i] = 0;2,若 i 位置为 ' ) ' :判断位置 i-dp[i-1]-1 是否为 ' ( ':若不是 dp[i] = 0;若是:dp[i] = dp[i-1] + 2 + dp[i-dp[i-1]-2];当然需要控

2013-07-23 14:18:07 367

原创 Sort Colors

题意是: 对只含0,1,2三个元素的数组进行排序。由于只含3个元素,O(nlogn)肯定不是一个好的算法。1,首先能想到的是计数排序,时间复杂度O(n), 空间复杂度O(1):public class Solution { public void sortColors(int[] A) { // Start typing your Java solution bel

2013-07-23 12:12:23 412

原创 Merge Sorted Array

从后往前进行merge, 时间复杂度在O(m + n)class Solution {public: void merge(int A[], int m, int B[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function

2013-07-18 16:36:37 370

原创 Subsets

先对S进行排序, 之后深搜, 每个数字有选或不选两种情况。class Solution {public: vector > ans; void cal(vector s, vectortmp, int index, int n) { if(index == n) { //if(tmp.size() > 0) ans.push_back(tmp); ret

2013-07-17 12:40:56 331

原创 Longest Palindromic Substring

以每一个,每两个字符为中心,求出最大对称子串。返回所有子串中最长的子串, 时间复杂度O(N^2)。欢迎交流更佳算法。 string longestPalindrome(string s) { // Start typing your C/C++ solution below // DO NOT write int main() function

2013-07-15 19:56:16 372

原创 二叉树的遍历(更新中)

本文记录二叉树的几种遍历方式,包括:前序,中序,后序三种遍历方式的递归与非递归实现以及层次遍历。前序:根,左,右;中序:左,根,右;后序:左,右,根;层次:按层从左到右。/* define of binary treetypedef struct Tree{ int value; Tree *left, *right;}*BinaryTree;*/1,

2013-07-14 17:07:31 352

原创 PAT 1056

题意是:把整数划分成若干个组,每个组内的最大数拿出来,其他的名次想通。 对拿出来的继续分组比较。注意,题目明确表示给定的整数各不相同。#include #include #include #include using namespace std;typedef struct{ int rank; int value;}Node;Node a

2013-06-20 14:02:44 794

空空如也

空空如也

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

TA关注的人

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