算法和编程
yuzj_123
这个作者很懒,什么都没留下…
展开
-
回溯法-数组中和为固定值的组合
在一个非降序排序的数组中,查找和为固定值的所有组合,使用回溯法解决。对于每一个元素有可能在组合中,也有可能不在组合中。#include<iostream>#include<vector>using namespace std;/************************************************************************//* 查找一个非降排序原创 2016-04-19 20:27:13 · 3775 阅读 · 0 评论 -
Trie(字典树)
前两天看到hihoCoder上一道Trie树的题,正好学习一下新的数据结构和它的应用 题目链接: http://hihocoder.com/problemset/problem/1014 题目简介:输入的第一行为一个正整数n,表示词典的大小,其后n行,每一行一个单词(不保证是英文单词,也有可能是火星文单词哦),单词由不超过10个的小写英文字母组成,可能存在相同的单词,此时应将其视作不同的单词。原创 2016-04-12 15:45:22 · 429 阅读 · 0 评论 -
24点
hiho一下,第九十八周:给定四个整数,判断是否能计算出24思路:假设我们用⊙表示运算,⊙除了可以表示基本的”+”,”-“,”*”,”/”外。我们还引入两个新的运算,”反-“,和”反/”。比如(a 反/ b)的意思是(b / a)。则对形如(c / (a + b))的形式,就可以等价的描述为((a + b) 反/ c)。利用这6种运算,可以将所有可能的计算过程归结为2类: (((a ⊙ b) ⊙原创 2016-06-01 21:22:34 · 650 阅读 · 0 评论 -
优先级队列
三月份阿里实习招聘的时候面试了一道堆排序的算法题,奈何太菜,做不出来被刷了,现在重新拿起这道题,同时也练习一下c++中优先级队列的使用。/************************************************************************//* 给定两个升序数组A和B,定义一个集合中的元素为A中的元素和B中的元素相加,*//* 求集合中最小的K个数原创 2016-07-28 17:32:47 · 393 阅读 · 0 评论 -
大整数相除取余数
写了一个大整数相除取余数的算法,没有在OJ上测试过,有机会测试一下。 题目:给定两个字符串s1和s2,求s1除以s2的余数。#include <iostream>#include <string>#include <cstring>#include <vector>#include <stack>#include <queue>#include <map>#include <set>原创 2016-09-06 19:11:03 · 1896 阅读 · 0 评论 -
实现堆排序
堆排序是在编程中经常用到的东西,在c++的STL底层里面有make_heap, push_heap, pop_heap 和 sort_heap四个接口函数,我们用到的最多的是STL中的priority_queue,其中的底层也是利用前面几个函数实现的。下面我们就自己实现以下堆排序,主要包括调整堆结构,构造堆和堆排序几个接口函数。#include <iostream>using namespace原创 2016-09-19 21:16:42 · 305 阅读 · 0 评论