Algorithm
hzw.000
这个作者很懒,什么都没留下…
展开
-
gate算法
。。。。。。。。。。。。。。。。子串(一定连续),子序列(可以不连续),。。。。。。。。。。。。。。。。定义HashSet nodeSet=new HashSet ();HashSet nodeSet=new HashSet();以上都对,可写可不写。区别:map(key,value);有映射关系,所以有两个参数。。。。。。。。。。。。。。。。。。。。。。。原创 2015-07-19 10:04:22 · 1679 阅读 · 0 评论 -
连续子数组的最大和
给定一个整数数组,请找出一个连续子数组,使得该子数组的和最大。输出答案时,请分别返回第一个数字和最后一个数字的下标。(如果两个相同的答案,请返回其中任意一个)您在真实的面试中是否遇到过这个题? Yes样例给定 [-3, 1, 3, -3, 4], 返回[1,4].方法一,通过 当前和的 正负,判断起点下标, vect原创 2016-04-13 22:06:04 · 1450 阅读 · 0 评论 -
no match for ‘operator=’ 等号两端 不匹配
const auto new_states = state_extend_function(word,dict,visited,end);unordered_set::iterator itv;for ( itv=new_states.begin();itv != new_states.end();itv++ ){ string state=*itv;// 操作state }报错原创 2016-04-14 17:26:28 · 55963 阅读 · 0 评论 -
最长上升子序列(LIS).方法1:DP,方法2:map。
给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。说明最长上升子序列的定义:最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的。https://en.wikipedia.org/wiki/Longest_common_subsequence_problem样例原创 2016-04-17 09:03:56 · 596 阅读 · 1 评论 -
findLadders--BFS--a到z 每个字母尝试着换。
void gen_path(unordered_map > &father, vector &path, const string &start, const string &word, vector > &result) { path.push_back(word); if (word == start) { result.push_back(path); reverse原创 2016-04-17 22:26:40 · 434 阅读 · 0 评论 -
二叉树的所有路径,因为有些IDE不支持itoa方法,自定义的int->stringstream->string,
二叉树的所有路径 描述 笔记 数据 评测给一棵二叉树,找出从根节点到叶子节点的所有路径。您在真实的面试中是否遇到过这个题? Yes样例给出下面这棵二叉树: 1 / \2 3 \ 5所有根到叶子的路径为:[ "1->2->5", "1->3"]#inc原创 2016-05-02 09:34:55 · 403 阅读 · 0 评论 -
二叉树的路径和---递归返回时要弹出向量尾的元素,不管是否找到。
http://www.lintcode.com/zh-cn/problem/binary-tree-path-sum/二叉树的路径和 描述 笔记 数据 评测给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值的路径。一个有效的路径,指的是从根节点到叶节点的路径。您在真实的面试中是否遇到过这个题? Yes原创 2016-05-03 16:37:04 · 749 阅读 · 0 评论 -
二叉树的最大路径和 II--要求开始于根节点--则 先加上根节点,再递归左右子树。
给一棵二叉树,找出从根节点出发的路径中,和最大的一条。这条路径可以在任何二叉树中的节点结束,但是必须包含至少一个点(也就是根了)。您在真实的面试中是否遇到过这个题? Yes样例给出如下的二叉树: 1 / \2 3返回4。(最大的路径为1→3) int maxSum=INT_MIN; void proces原创 2016-05-03 21:48:40 · 1544 阅读 · 0 评论 -
Populating Next Right Pointers in Each Node
116. Populating Next Right Pointers in Each Node My SubmissionsQuestionEditorial SolutionTotal Accepted: 86687 Total Submissions: 237459 Difficulty: MediumGiven a binary tr原创 2016-05-04 00:02:24 · 371 阅读 · 0 评论 -
查找链表的中点if(fast!= NULL && fast->next != NULL) { //要用并运算,1->2中slow不能跳,所以要并运算fast->next != NULL
找链表的中点。样例链表 1->2->3 的中点是 2。链表 1->2 的中点是 1。思路:2个指针从链表的头开始。一个指针每步+1,一个指针每步+2然后跑的快的指针到链表尾部的时候,那个慢一点的指针就是中点了/** * Definition of ListNode * class ListNode { * public: * in原创 2016-06-04 17:20:19 · 1699 阅读 · 1 评论 -
删除链表中的元素//p=pre;//重复的1-1,要判断重复判读。hh->next=head;//头上加头,不用考虑链表换头
删除链表中等于给定值val的所有节点。给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNo原创 2016-06-04 19:21:46 · 835 阅读 · 0 评论 -
加油站--只要总汽油量要大于总的消耗量,那么肯定是有解的--不用构成环来判断。
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油gas[i],并且从第_i_个加油站前往第_i_+1个加油站需要消耗汽油cost[i]。你有一辆油箱容量无限大的汽车,现在要从某一个加油站出发绕环路一周,一开始油箱为空。求可环绕环路一周时出发的加油站的编号,若不存在环绕一周的方案,则返回-1。您在真实的面试中是否遇到过这个题? Yes样例原创 2016-04-12 16:51:14 · 984 阅读 · 0 评论 -
字符消除(外内2层判断+递归)
http://hihocoder.com/problemset/problem/1039小Hi最近在玩一个字符消除游戏。给定一个只包含大写字母"ABC"的字符串s,消除过程是如下进行的:1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被同时消除,余下的子串拼成新的字符串。例如"ABCCBCCCAA"中"CC","CCC"和"AA"会被同时消除,余下"AB"和"B"拼成原创 2016-04-09 08:59:52 · 536 阅读 · 0 评论 -
最小生成树之prim算法
最小生成树之prim算法边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权。 最小生成树(MST):权值最小的生成树。 生成树和最小生成树的应用:要连通n个城市需要n-1条边线路。可以把边上的权值解释为线路的造价。则最小生成树表示使其造价最小的生成树。 构造网的最小生成树必须解决下面两个问题: 1、尽转载 2015-10-08 19:49:37 · 441 阅读 · 0 评论 -
八大排序算法
目录(?)[-]概述1插入排序直接插入排序Straight Insertion Sort 2 插入排序希尔排序Shells Sort3 选择排序简单选择排序Simple Selection Sort4 选择排序堆排序Heap Sort5 交换排序冒泡排序Bubble Sort6 交换排序快速排序Quick Sort7 归并排序Merge Sort8 桶排序基数排序Radix Sort总结转载 2015-09-19 13:11:29 · 572 阅读 · 0 评论 -
贪心解决:TSP问题(Travelling Salesman Problem)即旅行商问题
一、TSP问题TSP问题(Travelling Salesman Problem)即旅行商问题,又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。TSP问题是一个组合优化问题。该问题可以被证明转载 2015-11-13 16:12:25 · 26114 阅读 · 2 评论 -
大白话解析“模拟退火算法”
优化算法入门系列文章目录(更新中): 1. 模拟退火算法 2. 遗传算法 一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局转载 2015-11-15 09:50:57 · 526 阅读 · 0 评论 -
queueNum皇后问题
关键:1.递归,换新行时,一列一列的试探能否摆皇后。 2.三个数组标记限制能否摆皇后。 a[col]=1;//一维数组a[col]=1代表:chess二维数组 第col列有皇后b[row+col]=1;//代表:chess二维数组 坐标和为row+col的右斜线c[row-col+queueNum-1]=1;//代表:chess二维数组 和为row+col的左斜线原创 2016-01-08 19:28:52 · 564 阅读 · 0 评论 -
1到整数n中 出现1的次数,分,最高位,非最高位,两次数相加。递归位数减1.
阅读目录题目描述:解题思路:全部代码:题目描述:问题是:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数输入:转载 2016-01-29 00:29:15 · 406 阅读 · 0 评论 -
Sudoku Solver填数
Write a program to solve a Sudoku puzzle by filling the empty cells.Empty cells are indicated by the character '.'.You may assume that there will be only one unique solution.A sudoku转载 2016-03-01 16:47:50 · 391 阅读 · 0 评论 -
判断Sudoku是否成立?点能重复出现,1~9不能 重复出现。
Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Ruleshttp://sudoku.com.au/TheRules.aspx .The Sudoku board could be partially filled, where empty cells are filled with the char转载 2016-03-01 16:51:09 · 540 阅读 · 0 评论 -
拓扑排序·二:有向无环图,求总的病毒感染数
http://hihocoder.com/problemset/problem/1175举个例子,假设切断部分网络连接后学校网络如下图所示,由4个节点和4条链接构成。最开始只有节点1上有病毒。最开始节点1向节点2和节点3传送了病毒,自身留有1个病毒:其中一个病毒到达节点2后,向节点3传送了一个病毒。另一个到达节点3的病毒向节点4发送自己的拷贝:当从节点2传送到节原创 2016-04-05 22:00:57 · 726 阅读 · 0 评论 -
求str最长回文子序列是求这个原字符串和它反转字符串的最长公共子序列。
最长回文子序列题目思想大概是这样:输入:cabbeaf回文子序列有:c,a,aa,bb,,aba,abba,e,f,最长的就是abba,所以输出长度为4.分析:cabbeaffaebbac (上面的反转序列)这个原字符串 char1 和它反转字符串char2 的最长公共子序列 长度 java代原创 2016-04-08 00:41:09 · 556 阅读 · 0 评论 -
给定一个未排序的整数数组,找到其中位数。 中位数是排序后数组的中间值,
给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。样例给出数组[4, 5, 1, 2, 3], 返回 3给出数组[7, 9, 4, 5],返回 5思路:先快排, int getMidIndex(vector &nums,int low,int high){ int tmp=num原创 2016-06-04 23:09:39 · 5187 阅读 · 1 评论