
算法题
Siumai
此人不懒,但什么都不想写
展开
-
技巧:机试常用算法
一、素数判断:1、直接判断 o(n^1/2)bool isprime( int n ){ if( n < 2 ) return false; for( int i = 2; i <= sqrt(n); ++i ) if( n % i == 0 ) return false; return true;...原创 2020-03-22 10:55:15 · 620 阅读 · 0 评论 -
技巧:C/C++常用库函数
一、map相关1、map定义时添加参数 less<>/greater<>可以设置map内排序为升降序;2、map.find(val)返回迭代器,失败是迭代器指针指向map.end()二、algorithm库1、max(a, b), min(a, b), abs(val)2、swap(a, b)3、reverse(it1, it2)逆转序列4、sort(it1,...原创 2020-03-08 14:44:58 · 246 阅读 · 0 评论 -
贪心问题-最大不相交区间(C语言)
一、题目设有N个格式为 {左端点x,右端点y} 的 开区间,找出使所有区间线段互不相交的最大集合,输出集合中的区间数及这些区间。输入样例:121 33 40 73 815 1915 2010 158 186 125 104 142 9输出样例:51 33 45 1010 1515 19二、思路:将所有区间,按左端点从大到小排序,左端点相同者,按右端...原创 2019-03-01 11:42:38 · 769 阅读 · 0 评论 -
全排列的两种递归实现
一、什么是全排列(我是懒癌)关于N的全排列即,从1开始至N,N个数的全部排列方式。如:关于3的全排列:1 2 3;1 3 2;2 1 3;2 3 1;3 1 2;3 2 1;二、思路一func()的参数是将要赋值给数组P[]的数字,P[]存储全排列序列,cnt为数组下标,Hash[]=0为该数字未出现过,Hash[]=1位该数字已在P[]中;有点讲不清,大家凑合看下代码注释_(:з」...原创 2019-02-28 22:26:57 · 244 阅读 · 0 评论 -
LCS(Longest Common Subsequence)最长公共子序列
#include <cstdio>#include <algorithm>using namespace std;int main(){ int len[2]; char str[2][1000]; scanf("%d %d\n", &len[0], &len[1]); int DP[ len[0] + 1 ][ le...原创 2019-05-28 22:00:37 · 133 阅读 · 0 评论