C++
痞子丐
unix C\C++
展开
-
STL—vector删除重复元素
zSTL提供了很多实用的算法,这里主要讲解sort和unique算法。删除重复元素,首先将vector排序。sort( vecSrc.begin(), vecSrc.end() ); 然后使用unique算法。 vecSrc.erase( unique( vecSrc.begin(), vecSrc.end() ), vecSrc.end() );原创 2014-06-25 03:59:14 · 826 阅读 · 0 评论 -
第一个缺失的正整数
class Solution {public: int firstMissingPositive(vector& nums) { int n = nums.size(); int i = 0; for( ;i<n;){ if(nums[i] == i+1){ i++;原创 2017-07-12 15:44:22 · 322 阅读 · 0 评论 -
7的倍数和末尾含7的数
//1~10000000之间所有7的倍数和末尾含7的数一共有多少个呢?例如7,14,17,21,27,28……#include #include using namespace std;int main(){ int n; cin >> n; //7倍数 个数 int num1 = n / 7; // 个数位为7的个数 int num2原创 2016-05-14 03:05:07 · 5380 阅读 · 0 评论 -
爬楼梯-组合排列
题目:可爱的小明特别喜欢爬楼梯,他有的时候一次爬一个台阶,有的时候一次爬两个台阶,有的时候一次爬三个台阶。如果这个楼梯有36个台阶,小明一共有多少种爬法呢?解题思路:用f(n)代表n个台阶的总爬法数具体分析 第一步 1 2 3 三种 f(n) 第一步登1个台阶 有 f(n-1) 种登法 f(n) 第一步登2个台阶的话 有f(n-2)种登法f(n) 第一步登3个台原创 2016-05-13 21:41:21 · 2503 阅读 · 0 评论 -
亮灯数目-质因数分解 约数定理
////现在有编号为1~n的灯初始状态是全开着的,//现进行如下操作://编号是1的倍数的灯拨一下开关;//编号是2的倍数的灯再拨一下开关;//编号是3的倍数的灯再拨一下开关;//…………//如此直到n的倍数。//问:此时还有多少盏灯仍然是开着的常规解法:(1)数组n个位置标识灯的状态 然后按操作一次次更新灯的状态;最后数组里统计(2)分析下 n的倍数肯原创 2023-02-18 23:43:09 · 98 阅读 · 1 评论 -
STL multiset 学习(NYOJ-55 懒省事的小明)
multiset跟set具有相同功能,但允许重复的元素。multiset容器的内部结构通常由平衡二叉树(balanced binary tree)来实现。当元素放入容器中时,会按照一定的排序法则自动排序,默认是按照less<>排序规则来排序。这种自动排序的特性加速了元 素查找的过程,但是也带来了一个问题:不可以直接修改set或multiset容器中的元素值,因为这样做就可能违反了元素自动排序的原创 2014-07-05 23:19:36 · 452 阅读 · 0 评论 -
STL常用知识
非修改性序列操作(12个)循环for_each()对序列中的每个元素执行某操作查找find()在序列中找出某个值的第一次出现的位置find_if()在序列中找出符合某谓词的第一个元素find_end()在序列中找出一子序列的最后一次出现的位置转载 2014-07-05 23:39:21 · 391 阅读 · 0 评论 -
NYOJ-21三个水杯(BFS 广度优先搜索)
三个水杯时间限制:1000 ms | 内存限制:65535 KB难度:4描述给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子。三个水杯之间相互倒水,并且水杯没有标识,只能根据给出的水杯体积来计算。现在要求你写出一个程序,使其输出使初始状态到达目标状态的最少次数。输入第一行一个整数N(0接下来每组测试数据有两行,第一行给出三原创 2014-07-23 00:01:20 · 576 阅读 · 0 评论 -
字典序排列- STL next_permutation、DFS(深度优先搜索)
擅长排列的小明时间限制:1000 ms | 内存限制:65535 KB难度:4描述小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。输入第一行输入整数N(1每组测试原创 2014-07-03 22:43:33 · 804 阅读 · 0 评论 -
ACM:一种排序(操作符重载、vector排重)
一种排序时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序2.对于编号相等的长方形,按照长方形的长排序;3.如果编号和长都相同,按照长方形的宽原创 2014-06-25 23:33:50 · 627 阅读 · 0 评论 -
局部极大值
leetcode练习地址A peak element is an element that is greater than its neighbors.Given an input array where num[i] ≠ num[i+1], find a peak element and return its index.The array may contain m原创 2017-07-12 15:57:29 · 875 阅读 · 0 评论