随笔分类 -  数据结构

Algorithms
SOJ 1717 Computer (单机任务调度)
摘要:一、题目描述 Constraints :Time Limit: 2 secs, Memory Limit: 32 MB Description: We often hear that computer is a magic, a great invention, or even a marvel. 阅读全文

posted @ 2015-11-24 16:24 bbking 阅读(743) 评论(0) 推荐(0) 编辑

Binary Tree Level Order Traversal II
摘要:Given a binary tree, return thebottom-up level ordertraversal of its nodes' values. (ie, from left to right, level by level from leaf to root).For exa... 阅读全文

posted @ 2014-05-09 21:00 bbking 阅读(177) 评论(0) 推荐(0) 编辑

Binary Tree Traversal
摘要:1、PreorderTraversalGiven a binary tree, return thepreordertraversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / ... 阅读全文

posted @ 2014-05-03 15:28 bbking 阅读(202) 评论(0) 推荐(0) 编辑

Balanced Binary Tree
摘要:Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth... 阅读全文

posted @ 2014-05-02 01:01 bbking 阅读(354) 评论(0) 推荐(0) 编辑

Single Number II ——位操作
摘要:题意: 给定两个32位的整数 N 和 M,以及表示比特位置的 i 与 j 。编写一个方法,将 M 插入 N,使得 M 从 N 的第 j 位开始,到第 i 位结束。假定从 j 位到 i 位足以容纳M。输入:N = 10000101000,M = 10011,i = 2, j = 6输出:N = 10... 阅读全文

posted @ 2014-04-30 12:16 bbking 阅读(313) 评论(0) 推荐(0) 编辑

基本算法——全排列
摘要:对n个数进行全排列,有n!种排列方式。这里我们使用递归方式处理,将问题切割为较小的单元进行排列组合。例如1 2 3 4的排列可以分为1 [2 3 4],2[1 3 4],3[1 2 4],4[1 2 3]进行排列。即每一个元素都当一次首位,然后剩余的元素再递归进行全排列。第0层 第1层 ... 阅读全文

posted @ 2014-04-22 21:04 bbking 阅读(216) 评论(0) 推荐(0) 编辑

基本算法——快排
摘要:和朋友做了个小决定,把以前学过的小算法一个一个复习一遍。1、快排 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排... 阅读全文

posted @ 2014-04-09 23:45 bbking 阅读(352) 评论(0) 推荐(0) 编辑

长方形—C++
摘要:编程之美一道简单的热身题,活生生的组合数学例子啊。题意如下: 在 N 条水平线与 M 条竖直线构成的网格中,放 K 枚石子,每个石子都只能放在网格的交叉点上。问在最优的摆放方式下,最多能找到多少四边平行于坐标轴的长方形,它的四个角上都恰好放着一枚石子。输入 输入文件包含多组测试数据。第一行,给出一个整数T(1 ≤ T ≤ 100)为数据组数。接下来依次给出每组测试数据。每组数据为三个用空格隔开的整数 N,M,K。(0 ≤ K ≤ N * M,0 #include #include using namespace std;long long Func(long long n){ re... 阅读全文

posted @ 2014-04-06 21:51 bbking 阅读(1084) 评论(0) 推荐(0) 编辑

传话游戏—C++
摘要:编程之美一道简单的热身题,也是我们生活中常玩的传话游戏。(~.~芒果台玩过的)题意如下: Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……以此类推,直到倒数第二位告诉Bob。两位游戏者在传话中,不能让其他人听到,也不能使用肢体动作来解释。最后,Bob把他所听到的话告诉大家,Alice也把她原本所想的话告诉大家。 由于传话过程中可能出现一些偏差,游戏者越多,Bob最后听到的话就与Alice所想的越.. 阅读全文

posted @ 2014-04-05 23:58 bbking 阅读(928) 评论(0) 推荐(0) 编辑

Easy Problem-map和vector的使用
摘要:给出一个包含n个整数的数组,你需要回答若干询问。每次询问包含两个整数k和v,输出从左到右第k个v的下标(数组下标,从左右到右编号1~n)。【输入格式】 输入包含多组数据。每组数据第一行为两个整数n和m(1。 代码如下:#include #include #include #include u... 阅读全文

posted @ 2014-03-04 15:22 bbking 阅读(241) 评论(0) 推荐(0) 编辑

Single Number-C++中的异或
摘要:Single Number Given an array of integers, every element appears twice except for one. Find that single one.Note: Your algorithm should have a linear... 阅读全文

posted @ 2014-03-01 21:04 bbking 阅读(545) 评论(0) 推荐(0) 编辑

Alice and Bob
摘要:类似于石子合并的游戏,在黑板上写下N个数,每次只能将其中的一个数减1(结果为0自动消去),或者将某两个数消去,将其和写在黑板上。Alice先手,彼此都采用最优策略,将最后一个数消去者获胜。思路:设s为石子总数,n为总堆数,分3种情况:(1).全1 :如果n能被3整除,先手败,否则先手胜。(2).有一个2,其余为1:如果n除以3余数为1,先手败,否则先手胜。(3)其他情况: a)1的个数为奇数,先手胜。 b)1的个数为偶数,且s+n-1为奇数,先手胜。 c)1的个数为偶数,且s+n-1为偶数,先手败。#include #include #include #include using namesp 阅读全文

posted @ 2013-08-24 12:32 bbking 阅读(412) 评论(0) 推荐(0) 编辑

Fire逃生
摘要:Description: You are trapped in a building consisting of open spaces and walls. Some places are on fire and you have to run for the exit. Will you make it?At each second, the fire will spread to all open spaces directly connected to the North, South, East or West side of it. Fortunately, walls wi... 阅读全文

posted @ 2013-06-29 01:46 bbking 阅读(427) 评论(0) 推荐(0) 编辑

Josephus(约瑟夫环)
摘要:第二次考虑这个问题,感觉理解深刻多了!问题描述:n个人(编号1~n)围成一个环,先淘汰m,再从m的下一位开始报数,报到k的人退出,剩下的人又从淘汰的人下一位开始,从1开始报数....。求胜利者的编号。例如:n=8,k=5,m=3则游戏过程为: 12345678 (开始)淘汰3 新环:4567812 开始从1报数,报到5(k = 5)者被淘汰淘汰8 新环:124567 报数淘汰6 新环:71245 报数淘汰5 新环:7124 报数淘汰7 新环:124 报数淘汰2 新环:41报数淘汰4 新环:1 胜利者------------------------------------------------ 阅读全文

posted @ 2013-05-22 02:09 bbking 阅读(387) 评论(0) 推荐(0) 编辑

导航

统计

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