棋子

导航

03 2016 档案

1014 : Trie树 hihocoder
摘要:时间限制:10000ms 单点时限:1000ms 内存限制:256MB 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。 这一天,他们遇到了一本词典 阅读全文

posted @ 2016-03-29 16:52 鼬与轮回 阅读(219) 评论(0) 推荐(0) 编辑

实现大整数相加(考虑符号位,可能有负整数) 思维严谨程度!!
摘要://实现大整数相加 //还得考虑符号位,一个比另一个短 #include<iostream> #include <string> #include <cstring> using namespace std; #define maxlen 2001 int a[maxlen]; int b[maxl 阅读全文

posted @ 2016-03-29 00:25 鼬与轮回 阅读(361) 评论(0) 推荐(0) 编辑

给定矩阵行数和矩阵列数,顺时针打印矩阵(从0开始)
摘要://石头 2016 / 3 / 28 21:38 : 32 #include #include using namespace std; class Solution { public: void printMatrix(vector > &matrix) { int count = 0; if (matrix.empty()) ... 阅读全文

posted @ 2016-03-28 23:15 鼬与轮回 阅读(355) 评论(0) 推荐(0) 编辑

20150328晚,不使用乘号运算符实现两个整数乘法
摘要://20150328晚,不使用乘号运算符实现两个数相乘 #include #include #pragma warning(disable:4996) //using namespace std; int main() { int m, n, t; long long ll, absn, absm; while (scanf("%d %d", &m, &n) !... 阅读全文

posted @ 2016-03-28 23:06 鼬与轮回 阅读(493) 评论(0) 推荐(0) 编辑

优先级队列的实现 和 层次遍历建树
摘要:层次遍历建树 阅读全文

posted @ 2016-03-23 20:10 鼬与轮回 阅读(944) 评论(0) 推荐(0) 编辑

层次建树(优先插入左端),求二叉树的深度
摘要:#include #include #include #include using namespace std; struct TreeNode{ char val; int level; int height; struct TreeNode* left; struct TreeNode* right; TreeNode(char x,int... 阅读全文

posted @ 2016-03-23 20:04 鼬与轮回 阅读(518) 评论(0) 推荐(0) 编辑

先序遍历建立二叉树,求保存最大数字的叶子节点到最小数字的叶子结点的距离 2016网易编程题
摘要:输入:每行3个数字,第一个数字表示左子数节点个数,第二个数字表示右子树结点个数,第3个数字表示当前节点值。 输入就是按照先序遍历顺序提供的。 例如: 1 2 4 0 0 2 1 0 3 0 0 1对应的二叉树就是,先序遍历为4-2-3-1,中序遍历为2-4-1-3。 我们先来按照要求建树,直接就是先 阅读全文

posted @ 2016-03-23 11:20 鼬与轮回 阅读(375) 评论(0) 推荐(0) 编辑

42. Trapping Rain Water
摘要:Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. 阅读全文

posted @ 2016-03-22 16:27 鼬与轮回 阅读(334) 评论(2) 推荐(0) 编辑

241. Different Ways to Add Parentheses
摘要:241. Different Ways to Add Parentheses https://leetcode.com/problems/different-ways-to-add-parentheses/ 思路就是:首先找到以运算符为根节点,分别计算左子串和右子串的所有结果的集合,然后依次进行组合 阅读全文

posted @ 2016-03-19 21:58 鼬与轮回 阅读(294) 评论(0) 推荐(0) 编辑

电子数字 网易游戏在线笔试 第一题 hihocoder
摘要:题目链接 http://hihocoder.com/contest/ntest2016spring1/problem/1 这个题目有几个算法考点: (1)对于一个LED数码管(由7个发光二极管封装在一起,对应的二极管编号见所给链接),给你一串整数,每个数字表示对应的二极管亮,其他二极管明暗未知,由该 阅读全文

posted @ 2016-03-18 23:30 鼬与轮回 阅读(448) 评论(1) 推荐(0) 编辑

62. Unique Paths && 63 Unique Paths II
摘要:https://leetcode.com/problems/unique-paths/ 这道题,不利用动态规划基本上规模变大会运行超时,下面自己写得这段代码,直接暴力破解,只能应付小规模的情形,当23*12时就超时了: 利用动态规划来做,储存一个二维数组:vector<vector<int>> dp 阅读全文

posted @ 2016-03-16 10:42 鼬与轮回 阅读(179) 评论(0) 推荐(0) 编辑

Leetcode
摘要:算法真的是,如果不能捅破那道窗户纸,会感觉苦苦地就一直陷在瓶颈里,无法自拔,只有捅破了那道窗户纸才会发现,其实原理那样简单,遗憾的是,很多时候靠自己苦思冥想可能永远都无法找到那层窗户纸! 一道简单的DP(n)、分治算法题(nlogn) 53. Maximum Subarray http://www. 阅读全文

posted @ 2016-03-15 00:08 鼬与轮回 阅读(150) 评论(0) 推荐(0) 编辑

287. Find the Duplicate Number hard
摘要:   287. Find the Duplicate Number   hard http://www.cnblogs.com/grandyang/p/4843654.html   51. N-Queens http://blog.csdn.net/linhuanmars/article/detai 阅读全文

posted @ 2016-03-13 22:57 鼬与轮回 阅读(131) 评论(0) 推荐(0) 编辑

House Robber III leetcode 动态规划
摘要:https://leetcode.com/submissions/detail/56095603/ 这是一道不错的DP题!自己想了好久没有清晰的思路,参看大神博客!http://siukwan.sinaapp.com/?p=1013 我自己的感悟: 对于树的的前序遍历(根-左-右);编写代码时,有效 阅读全文

posted @ 2016-03-13 00:19 鼬与轮回 阅读(1273) 评论(0) 推荐(0) 编辑

将一个数组分成奇数部分和偶数部分,并分别排好序 CVTE
摘要:给定一个数组,将奇数放到前面,偶数放到后面,各自排好序 (2016年3月12日晚上,CVTE笔试编程第一道题): 思路很简单: (1)先将数组中的奇数和偶数分开(利用两个指针遍历一遍即可,同时统计好数组中奇数的个数); (2)然后分别进行快速排序。 阅读全文

posted @ 2016-03-12 22:09 鼬与轮回 阅读(1819) 评论(0) 推荐(0) 编辑

First Missing Positive && missing number
摘要:https://leetcode.com/problems/first-missing-positive/ 我原以为数组中不会有重复的数字,所以利用min、max分别记录给定数组中出现的最小正整数和最大正整数{可以求出这之间的所有数值之和sum2=(min+max)*(max-min+1)/2},并 阅读全文

posted @ 2016-03-11 11:23 鼬与轮回 阅读(328) 评论(0) 推荐(0) 编辑

permutation II (boss出来了)
摘要:题目链接:https://leetcode.com/submissions/detail/55876321/ 自己的做法,30个测试用例通过了29例,终究还是有一个系列类型的是无法通过的,因为自己妄想在permutation的代码上,通过排序来进行。然而,每一次同第一个元素交换位置之后,进入了递归, 阅读全文

posted @ 2016-03-10 11:19 鼬与轮回 阅读(325) 评论(0) 推荐(0) 编辑

46. Permutations 回溯算法
摘要:https://leetcode.com/problems/permutations/ 求数列的所有排列组合。思路很清晰,将后面每一个元素依次同第一个元素交换,然后递归求接下来的(n-1)个元素的全排列。 经过昨天的两道回溯题,现在对于回溯算法已经很上手了。直接貼代码: class Solution 阅读全文

posted @ 2016-03-10 09:48 鼬与轮回 阅读(254) 评论(0) 推荐(0) 编辑

字符串分割 函数实现
摘要:char ** strsplit(char *line, char delimeter, int *count, int limit)//line是传入字符串delimeter是用来进行分割的字符count是一个用来计数的变量,传入传出,函数执行完之后,表示将line分成的字符串个数limit用来限 阅读全文

posted @ 2016-03-09 21:02 鼬与轮回 阅读(495) 评论(0) 推荐(0) 编辑

Combination Sum II Combinations
摘要:https://leetcode.com/problems/combination-sum-ii/ 题目跟前面几道题很类似,直接写代码: class Solution { public: vector<vector<int>> combinationSum2(vector<int>& candida 阅读全文

posted @ 2016-03-09 10:20 鼬与轮回 阅读(543) 评论(0) 推荐(0) 编辑

Combination Sum
摘要:题目链接: 回溯算法的剪枝非常重要!! 这个题是一个NP问题,方法仍然是N-Queens中介绍的套路。基本思路是先排好序,然后每次递归中把剩下的元素一一加到结果集合中,并且把目标减去加入的元素,然后把剩下元素(包括当前加入的元素)放到下一层递归中解决子问题。算法复杂度因为是NP问题,所以自然是指数量 阅读全文

posted @ 2016-03-08 21:17 鼬与轮回 阅读(147) 评论(0) 推荐(0) 编辑

欧几里德算法(辗转相除法)
摘要:欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 欧几里得 证明:a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 a % d == 0 , b % d 阅读全文

posted @ 2016-03-01 00:23 鼬与轮回 阅读(652) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示