- 博客(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 772
原创 文本分类的调研
最近拿到一批用户对产品的反馈数据,需要进行文本分类,找出用户的痛点,从而发掘产品的优化方向。本文主要调研了:LDA主题分类模型(python gensim包);Naive Bayes;SVM;首先调研了LDA主题分类模型,使用python gensim包,代码如下:import jiebaimport jieba.analyseimport os, sysfrom gensim i
2016-07-17 22:45:36 700
原创 MAC修改用户名
设置->共享中的名字更改设置->用户群组中的名字修改shell中的hostname修改:sudo scutil –set HostName yourname
2016-06-10 15:30:29 852
转载 import,mysql,urldecode操作
代码过程中碰到3个问题: 不清楚import原理、如何urldecode,如何进行mysql操作(事务,以及如何做到读互斥)贴几篇看到的文章:数据库并发访问、事务与锁的关系python中的urlencode与urldecodeMYSQL–事务处理import与from…import的不同之处 Mysql 事务
2016-06-10 11:33:01 700
原创 上海居住证办理流程
办理流程居委会出具的房屋租赁合同登记备案办证通知单租赁合同原件复印件房东身份证、共有人身份证复印件房产证复印件承租人身份证注意事项人均居住面积不低于5平米备案要求房东到场
2016-06-10 11:24:33 514
原创 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 404 1
原创 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 536
原创 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 386
原创 1033. To Fill or Not to Fill
贪心算法,过程如下:定义可达范围:从每一个加油站出发,能到达的最大距离;(即加满油时的情况)所以我们在每一个加油站, 保证当前的油恰好可以到达 可达范围内第一个比当前油价便宜的加油站,如果可达范围内都比当前油价贵,那就加满油(特例是终点在可达范围内,就不需要加满)。思路还算清晰, 可代码写起来怎么那么纠结。。。有时间再去优化代码。#include #include
2013-08-21 17:18:57 648
原创 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 535
原创 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 374
原创 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 417
原创 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 491 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 422
原创 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 370
原创 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 384
原创 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 585
原创 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 602
原创 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 492
原创 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 425
原创 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 483
原创 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 519
原创 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 467
原创 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 479
原创 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 691
原创 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 419
原创 The Dominant Color
http://pat.zju.edu.cn/contests/pat-a-practise/1054求数组中出现次数超过一半的那个数字(题目保证一定存在)。解法一:用哈希表。这里就不给出代码了。解法二:有一个数字出现次数超过了一半,也就是说,剩余的数字出现次数之和也没有这个数字多。 那我们可以用如下方法统计:num记录当前数字,times记录当前数字出现的次数,当新遍历到一个数
2013-07-25 22:26:11 388
原创 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 383
原创 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 389
原创 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 437
原创 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 392
原创 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 358
原创 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 389
原创 二叉树的遍历(更新中)
本文记录二叉树的几种遍历方式,包括:前序,中序,后序三种遍历方式的递归与非递归实现以及层次遍历。前序:根,左,右;中序:左,根,右;后序:左,右,根;层次:按层从左到右。/* define of binary treetypedef struct Tree{ int value; Tree *left, *right;}*BinaryTree;*/1,
2013-07-14 17:07:31 366
原创 PAT 1056
题意是:把整数划分成若干个组,每个组内的最大数拿出来,其他的名次想通。 对拿出来的继续分组比较。注意,题目明确表示给定的整数各不相同。#include #include #include #include using namespace std;typedef struct{ int rank; int value;}Node;Node a
2013-06-20 14:02:44 814
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人