随笔分类 - a) 数据结构题
摘要:最近遇到的几个有意思问题,记录分享一下。 1. 合并三个有序数组(合并K个有序数组) 假如有这么三个数组:(arr包含的三个数组) 问题:K个数组,总共N个元素,合并成一个有序数组。(以升序为例) 大家一眼看上去肯定会想到归并排序,合并两个有序数组是归并排序的最后一步的动作,通过两个指针引导比较大小
阅读全文
摘要:题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 一个栈就是把队列反过来,那再来一个栈push进第一个栈就“正”过来了。 第一个栈就是存下反过来的序列。 每次push进一个数,要先判断stack2“正”序列是否为空,不为空要还原“反序列”,还要stack
阅读全文
摘要:题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 这道题就比较经典了,经典递归。 JS版:(我加了测试
阅读全文
摘要:题目描述 输入一个链表,从尾到头打印链表每个节点的值。 这个其实我才出题人是想考察递归的,但是做法可以直接另开个数组,遍历链表的时候push链表val值,最后reverse即可。 但是递归方法更加优美啊,通过递归进入链表底部,从下往上push,其实就是用递归模拟了栈的思想,我一直认为栈就是用迭代来模
阅读全文
摘要:题目: Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()", th
阅读全文
摘要:士兵杀敌(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5 士兵杀敌(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。 小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀
阅读全文
摘要:I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 79439 Accepted Submission(s): 30513 Pro
阅读全文
摘要:括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 我更喜欢这个版本,字符一个个读入:
阅读全文
摘要:这次是帮别人复习复习数据结构。重新看这些问题,除了图论的那些算法,有些东西还真的是忘记了,不过看了下书还好想起来了。1、10个元素的有序表,等概率条件下折半查找成功的平均查找长度是 29/10 。 画出判定树,其实就是二分转二叉树数量*层数累加即可。2. 设有序顺序表中的元素依次为 0...
阅读全文
摘要:传送门:https://odzkskevi.qnssl.com/1110bec98ca57b5ce6aec79b210d2849?v=1492616502 题意:先给一个样例数,每个样例n,m分别表示字符串的长度和要给出的关系数给出的关系,两个位置上的字符(从1开始的下标)必须相等。最后满足这个字符...
阅读全文
摘要:Snowflake Snow SnowflakesTime Limit: 4000MS Memory Limit: 65536KTotal Submissions: 41141 Accepted: 10817DescriptionYou may have heard that no two snow...
阅读全文
摘要:OulipoTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 39845 Accepted: 16034DescriptionThe French author Georges Perec (1936–1982) once wrote...
阅读全文
摘要:ArgusTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 11381 Accepted: 5506DescriptionA data stream is a real-time, continuous, ordered sequen...
阅读全文
摘要:K Smallest SumsYou're given k arrays, each array has k integers. There are kk ways to pick exactly one element in each array and calculate the sum of ...
阅读全文
摘要:L2-006. 树的遍历 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 时间限制 400 ms 时间限制 400 ms 内存限制 65536 kB 内存限制 65536 kB 代码长度限制 8000 B 代码长度限制 8000
阅读全文
摘要:L2-010. 排座位时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安...
阅读全文
摘要:L2-007. 家庭房产时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。输入格式:输入第一行给出一个正整数N(#define INF 0x3fffffff#...
阅读全文
摘要:/*1.有一个单链表(不同结点的数据域值可能相同),其头指针为head,编写一个函数计算数据域为x的结点个数*/#include #include using namespace std;struct node{ int data; struct node *next; };struct no...
阅读全文
摘要:Conquer a New RegionTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1939 Accepted Submissio...
阅读全文

浙公网安备 33010602011771号