![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
iamzhangzhuping
这个作者很懒,什么都没留下…
展开
-
用两个栈实现队列和用两个队列实现一个栈
题目:用两个栈实现一个队列。队列的生命如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。template class CQueue { public: CQueue(void); ~CQueue(void); void appendtail(const T& node); T deleteHead()原创 2016-03-21 12:08:23 · 460 阅读 · 0 评论 -
给定整数n(0<n<10),求全排列。比如n=3, 输出123 132 213 231 312 321
目录目录思想主函数mainPermuint nnext_permuvector num n思想 假设给定6,那么输出的顺序应该是 : 123546,123564,123645 ,123654,124356 …..654321主函数mainint main(int argc, char const *argv[]){ cout << "Input an number..." << e原创 2016-02-26 09:30:54 · 1489 阅读 · 0 评论 -
将数组中等于n的元素移到数组的最前面,尽量减少数组元素的移动次数和额外存储
目录目录题目主函数mainsort函数题目将数组中等于n的元素移到数组的最前面,尽量减少数组元素的移动次数和额外存储,比如数组为[2,4,5,2,5,8,11,44,29,16,2],n=2, 则输出数组[2,2,2,4,5,5,8,11,44,29,16],其中4,5,5,8,11,44,29,16的顺序不指定,不必维持在原数组中的顺序。主函数mainint main(int argc原创 2016-02-26 11:25:36 · 1050 阅读 · 0 评论 -
把数组排成最小的数
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。四段代码,主要区别在于sort()函数的第三个参数上:用一个StrComparator类,重载()操作/** * 把数组排成最小的数 * 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有原创 2016-04-07 09:39:30 · 498 阅读 · 1 评论 -
扑克牌顺子
/** * 扑克牌顺子 * 先排序,再统计0的个数,再统计空缺的个数 */#include <iostream>#include <vector>#include <algorithm>using namespace std;class Solution {public: bool IsContinuous( vector<int> numbers ) { if (原创 2016-04-12 10:12:06 · 365 阅读 · 0 评论 -
找出数组中只出现一次的数字
题干:找出数组中只出现一次的数字——一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。#include <iostream>#include <vector>using namespace std;class Solution {public: void FindNumsAppearOnce(vector<int> data,int* num1原创 2016-04-10 20:49:56 · 419 阅读 · 0 评论 -
输入一个递增排序的数组和一个数字s,在数组中寻找两个数,使得这两个数的和为s
题目:输入一个递增排序的数组和一个数字s,在数组中寻找两个数,使得这两个数的和为s。注意:已经是一个递增排序数组,所以要牢牢得抓住这个特性。#include <iostream>using namespace std;class Solution {public: bool FindNumsWithSum(int data[], int length, int sum, int *num1,原创 2016-04-10 22:26:36 · 2426 阅读 · 0 评论