首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
水一样哦哦哦
2017-09-02 18:06
Conservatorio LUCIO Campiani di MANTOVA C++
关注
已关注
取消关注
拼多多第四题谁有思路的?
如题,lics
提示
全部评论
推荐
最新
楼层
陆小霞
桂林电子科技大学 C++
#include <stdio.h> #include <stdlib.h> #include <math.h> void match(int *a,int*b,int m,int n,int k); void inc(int *b,int L,int R,int m); int num = 0; int main() { int m,n,k,L,R; printf("m,n="); scanf("%d %d",&m,&n); printf("k = "); scanf("%d",&k); printf("L,R="); scanf("%d %d",&L,&R); int *a = (int*)malloc(n*sizeof(int)); int *b = (int*)malloc(m*sizeof(int)); int i=0; for(i = 0; i<m; i++) { b[i] = L; } for(i = 0; i<n; i++) { scanf("%d",&a[i]); } for(i = 0; i<pow(R-L+1,m); i++) { int j; /*for(j= 0;j<n;j++){ printf("a = %d ",a[j]); } printf("\n"); */ match(a,b,m,n,k); inc(b,L,R,m); } printf("%d\n",num); } void match(int *a,int*b,int m,int n,int k) { int i,j=0,temp,count=0; if(n<m) { for(i =0; i<n; i++) { for(; j<m; j++) { //printf("%d,%d\n",a[i],b[j]); if(a[i] == b[j]) { count++; j++; temp = j; break; } } if(count == k) break; if(j == n && i < m-1) j = temp; else if(j == n) break; } } else { for(i =0; i<m; i++) { for(; j<n; j++) { //printf("%d,%d\n",a[i],b[j]); if(a[j] == b[i]) { count++; j++; temp = j; break; } } if(count == k) break; if(j == n && i < m-1) j = temp; else if(j == n) break; } } if(count == k) { for(i=0; i<m; i++) { printf("%d ",b[i]); } printf("\n"); num += 1; } } void inc(int *b,int L,int R,int m) { static int i = -1; if(i == -1) { i = m - 1; } if(b[i] == R) { b[i] = L; i -= 1; inc(b,L,R,m); i = m - 1; } else b[i] += 1; }
点赞
回复
分享
发布于 2017-09-03 14:19
后劲好大
某乡下技校 Java
老哥不留百度??
点赞
回复
分享
发布于 2017-09-02 22:50
Time_
杭州电子科技大学 Java
//采用暴力的方法做的,可惜时间不够了,给的例子通过了,不知道还有没有什么问题。仅供参考 #define _CRT_SECURE_NO_WARNINGS // #define STDIN_OUT #include<cstdio> #include<iostream> #include<vector> #include<algorithm> #include<queue> #include<stack> #include<string> #include<string.h> #include<map> #include<cmath> #include<deque> #include<unordered_map> using namespace std; class Solution { public: int lcs(vector<int> str1,vector<int> str2) { int len1 = str1.size(); int len2 = str2.size(); vector<vector<int>> a(len1+1,vector<int>(len2+1,0)); int n_max = 0; for(int i = 0; i < len1; i++) a[i][0] = 0; for(int j = 0; j < len2; j++) a[0][j] = 0; for(int i = 1; i <= len1; i++){ for(int j = 1; j <= len2; j++){ if(str1[i-1] == str2[j-1]) a[i][j] = a[i-1][j-1] + 1; else{ a[i][j] = max(a[i-1][j],a[i][j-1]); } n_max = max(n_max,a[i][j]); } } return n_max; } void dfs(int n, int k, int start, int cur,vector<int> path, vector<vector<int>> &res){ if(cur == k){ res.push_back(path); return; } if(cur < k) for(int i = start; i <= n; i++){ path.push_back(i); dfs(n,k,start,cur+1,path,res); path.pop_back(); } } vector<vector<int>> combine(int start,int end, int k) {//所有的排列组合 vector<vector<int>> res; vector<int> path; dfs(end,k,start,0,path,res); return res; } }; int main() { #ifdef STDIN_OUT freopen("D:\\input.txt", "r", stdin); freopen("D:\\output.txt", "w", stdout); #endif int m,n,L,R,k; vector<int> str1; Solution s; cin>>n>>m; cin>>k; cin>>L>>R; for(int i = 0; i < n;i++) { int val; cin>>val; str1.push_back(val); } vector<vector<int>> res = s.combine(L,R,m); int count = 0; for(auto re : res){ int LCIS = s.lcs(str1,re); if(LCIS >= k) count = (count + 1) % 10007; } cout<<count<<endl; #ifdef STDIN_OUT fclose(stdin); fclose(stdout); #endif return 0; }
点赞
回复
分享
发布于 2017-09-02 19:54
Thare
淘天集团_技术专家
考完想了下 对于序列1 求出所有长度为k的增长序列 假设为z 然后结果就是z*(r-l+1)^(m-k)
点赞
回复
分享
发布于 2017-09-02 19:00
牛客1171869号
哈尔滨工业大学深圳研究生院 算法工程师
题目啥
点赞
回复
分享
发布于 2017-09-02 18:24
CheckCheck
哈尔滨理工大学 C++
不是lcis?
点赞
回复
分享
发布于 2017-09-02 18:14
暂无评论,快来抢首评~
相关推荐
01-01 21:11
中国科学技术大学 C++
【2025刷题笔记】- 单词搜索
刷题笔记合集🔗 单词搜索 问题描述 找到它是一个小游戏,你需要在一个矩阵中找到给定的单词。 假设给定单词 HELLOWORD,在矩阵中只要能找到 H->E->L->L->O->W->O->R->L->D 连成的单词,就算通过。 注意区分英文字母大小写,并且您只能上下左右行走,不能走回头路。 输入格式 输入第 行包含两个整数 分别表示 行 列的矩阵, 第 行是长度不超过 的单词 (在整个矩阵中给定单词 只会出现一次), 从第 行到第 行是指包含大小写英文字母的长度为 的字符串矩阵。 输出格式 如果能在矩阵中连成给定的...
算法刷题笔记
点赞
评论
收藏
分享
01-04 17:38
传音控股_技术运维工程师(准入职员工)
传音内推,传音内推码
我投递的是供应链的岗位,有需求的宝宝可以参考一下~ 一开始投递简历后,会有一个线上**,大家可以去一些软件刷刷题再去做(因为这个题库有时候真的有点怪怪的),通过后经过漫长的审批,有些岗位会有专业测试(研发岗之类的),然后又是漫长的审批,你就会进入面试阶段啦! 首先是11月中旬的时候hr会打一个电话面试: 时间不一定,早中晚都有可能,当时我以为是骚扰电话给挂了,幸好hr小姐姐打了第二个,听说有人挂了之后就没有接到第二个电话了,大家一定要注意(广东)种地方的来电!!!说不定就是你的面试通知!!! 电话面的问题: 1.对传音的了解(可以多搜索传音相关的资料了解) 2.对薪资的期望(看个人需求) 3....
点赞
评论
收藏
分享
2025-11-18 23:55
美团_SaaS事业部_软件开发工程师
又起猛了
两年前 成功上岸美团两年后 女朋友也上岸了美团不确定 再看一眼
活泼的代码渣渣在泡池...:
哈哈哈挺好的,我也上岸美团了
,不说了,我又接了一单
点赞
评论
收藏
分享
01-01 23:23
复旦大学 Java
日常无偿看简历,offer选择
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
一大波手撕正在靠近!
1.6W
2
...
🔥2026创作新起点:《新年启航计划》来袭,三大赛道等你来冲!
1.5W
3
...
百度java一面 28届的第一次大厂面试 感觉g了
5206
4
...
腾讯游戏后端一面
3463
5
...
测开劝退
3197
6
...
27前端鼠鼠快手二面
3169
7
...
拥抱人机共生,锻造不可替代的“金头脑”
2910
8
...
双非老鼠的悲惨秋招
2761
9
...
面试手撕题总结
2735
10
...
实习不忙被公司要求下周再来
2656
创作者周榜
更多
正在热议
更多
#
26年哪些行业会变好/更差
#
7198次浏览
114人参与
#
实习,不懂就问
#
147093次浏览
1318人参与
#
去年的flag与今年的小目标
#
3661次浏览
109人参与
#
卷__卷不过你们,只能卷__了
#
2533次浏览
67人参与
#
有深度的简历长什么样?
#
8566次浏览
176人参与
#
哪些公司在招寒假实习?
#
3476次浏览
40人参与
#
入职第一天
#
5371次浏览
93人参与
#
你都用AI做什么
#
3256次浏览
87人参与
#
写论文的崩溃时刻
#
1845次浏览
53人参与
#
你不能接受的企业文化有哪些
#
4305次浏览
75人参与
#
实习学到最有价值的工作习惯
#
54235次浏览
433人参与
#
一人分享一道面试手撕题
#
11167次浏览
557人参与
#
你最满意的offer薪资是哪家公司?
#
64179次浏览
319人参与
#
外包能不能当跳板?
#
55953次浏览
260人参与
#
滴滴求职进展汇总
#
292681次浏览
2411人参与
#
应届生应该先就业还是先择业
#
161797次浏览
818人参与
#
uu们,春招你还来吗?
#
39532次浏览
232人参与
#
AI了,我在打一种很新的工
#
125806次浏览
1304人参与
#
计算机有哪些岗位值得去?
#
259585次浏览
1963人参与
#
秋招你被哪家公司挂了?
#
1002621次浏览
7707人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务