数据结构与算法
小雨滴滴滴的童鞋
这个作者很懒,什么都没留下…
展开
-
pat----打印沙漏
题目描述本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递 增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的原创 2015-08-22 16:08:20 · 427 阅读 · 0 评论 -
快排-无重复元素
void quicksort(int *pArray, int pStart, int pEnd){ int flag = 0; if(pEnd>pStart) flag = pArray[random(pStart, pEnd)]; else return; int start=pStart; int end=pEnd...原创 2018-03-22 09:05:37 · 163 阅读 · 0 评论 -
大数相加
题目描述请设计一个算法能够完成两个用字符串存储的整数进行相加操作,对非法的输入则返回error输入描述:输入为一行,包含两个字符串,字符串的长度在[1,100]。输出描述:输出为一行。合法情况输出相加结果,非法情况输出error示例1输入123 123abd 123输出246Error#include <iostream>#include <cstring>#in...原创 2018-03-21 21:55:56 · 220 阅读 · 0 评论 -
保留最大的数
题目描述给定一个十进制的正整数number,选择从里面去掉一部分数字,希望保留下来的数字组成的正整数最大。输入描述:输入为两行内容,第一行是正整数number,1 ≤ length(number) ≤ 50000。第二行是希望去掉的数字数量cnt 1 ≤ cnt < length(number)。输出描述:输出保留下来的结果。示例1输入325 1输出35#include <iostre...原创 2018-03-06 10:10:59 · 342 阅读 · 0 评论 -
squrex-牛顿法解
Implementint sqrt(int x).Compute and return the square root of x.class Solution {public: int sqrt(int x) { if (x == 0) return 0; double lastY = 0; double ...原创 2018-03-05 21:01:08 · 232 阅读 · 0 评论 -
path-sum-ii
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.For example:Given the below binary tree andsum = 22, 5 / \ 4...原创 2018-03-05 19:47:15 · 163 阅读 · 0 评论 -
path-sum
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:Given the below binary tree andsum = 22,...原创 2018-03-04 20:23:39 · 133 阅读 · 0 评论 -
3SUM
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:Elements in a triplet (a,b,c) must be in...原创 2018-03-04 16:41:41 · 175 阅读 · 0 评论 -
binary-tree-maximum-path-sum
Given a binary tree, find the maximum path sum.The path may start and end at any node in the tree.For example:Given the below binary tree, 1 / \ 2 3Return6.class Solution {public:...原创 2018-03-02 22:30:26 · 233 阅读 · 0 评论 -
sum-root-to-leaf-numbers
Given a binary tree containing digits from0-9only, each root-to-leaf path could represent a number.An example is the root-to-leaf path1->2->3which represents the number123.Find the total sum of ...原创 2018-03-02 20:09:02 · 125 阅读 · 0 评论 -
求一个二叉树的最小深度
题目描述Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node./*如果为空,直接返回0。当节点左右子节点都在的时候取最小;当只存在一个子节...原创 2018-03-02 08:09:54 · 194 阅读 · 0 评论 -
求一个二叉树的高度
题目描述现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度输入描述:输入的第一行表示节点的个数n(1 ≤ n ≤ 1000,节点的编号为0到n-1)组成,下面是n-1行,每行有两个整数,第一个数表示父节点的编号,第二个数表示子节点的编号输出描述:输出树的高度,为一个整数50 10 21 31 43#include <iostream>...原创 2018-03-01 09:19:48 · 1468 阅读 · 0 评论 -
链表的建立以及排序
#include <iostream>using namespace std;//**********************************************************************************//STRUCTstruct ListNode { int val; ListNode *next; Lis...原创 2018-03-06 22:19:02 · 330 阅读 · 0 评论 -
10 进制数转化成10以内任意进制数
#include #include int f(int n,int m){ int c=0; int a=0; while(n>=m) { a=a+(n%m)*pow(10,c); n=n/m; c=c+1; } a=a+n*pow(10,c); retu原创 2016-03-11 15:57:11 · 706 阅读 · 0 评论 -
pat-旧键盘
下午刚睡醒,来道水题;题目描述旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入描述:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符原创 2015-08-22 15:26:09 · 616 阅读 · 0 评论 -
pat之月饼问题
题目描述月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖原创 2015-08-18 17:20:12 · 667 阅读 · 3 评论 -
pat 之德才论问题
题目描述宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入描述:输入第1行给出3个正整数,分别为:N(5),即考生总数;L(>=60),为录取最低分数线,即德分和才分均原创 2015-08-17 20:56:42 · 379 阅读 · 0 评论 -
基数排序和计数排序
计数排序时间复杂度:举例:假设我们有如下员工需要按照身高排序员工身高 a b c d e 150 167 176 149 160 就正常而言,人类的正常身高不会超过300cm,因此我们可以生成300个桶,每个桶代表相应的身高,将每个员工分别放在桶中,然后依次倒出,便得到排序后的序列。#include<iostream...原创 2018-08-13 13:39:50 · 282 阅读 · 0 评论