搜狗2019校园招聘笔试-智能图像识别图像研究员
注:图片来源网络。
双指针。参见Minimum Window Substring。
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include <set>
#include <map>
using namespace std;int minWinSize(const vector<int>& nums, vector<int>& start) {set<int> st(nums.begin(), nums.end());map<int, int> mp;int n = nums.size();int res = n;int i = 0, j = 0;int cnt = st.size();while(j < n){while (j < n && cnt > 0) {if (++mp[nums[j++]] == 1)--cnt;}while (i < j && cnt <= 0) {int len = j - i;if (len < res) {start.clear();res = len;start.push_back(i);}else if (len == res) {start.push_back(i);}if (--mp[nums[i++]] <= 0)++cnt;}}return res;
}int main()
{int n; cin >> n;vector<int> test(n);for (int i = 0; i < n; ++i)cin >> test[i];vector<int> start;int minsize = minWinSize(test, start);cout << minsize << " " << start.size() << endl;for (auto i : start) {printf("[%d,%d] ", i+1, i + minsize);}cout << endl;return 0;
}
以下为旧代码:
# -*- coding: utf-8 -*-
"""
# @Time : 2018/9/14 20:17
# @Author : shen
# @FileName: sogou2018.py
"""import sysprint("输入数据个数:")
in_num = int(sys.stdin.readline().strip('\n'))
line = []
for i in range(in_num):s1 = sys.stdin.readline().strip('\n')line.append(s1)line_unique = list(set(line)) # 该数据序列中独特的数据,去重
line_unique_num = line_unique.__len__()max_len = min(in_num, 10000) # 最小区间长度的最大值find_number = 0 # 查找到最小子串的个数
start_index = [] # 查找到最小子串的起始位置
# 循环可能的最小区间长度
for i in range(line_unique_num, max_len+1):min_length = ifor j in range(0, in_num):sub_line = line[j: j + i] # python有自动的溢出保护,不用边界判断sub_line_unique = list(set(sub_line)) # 子串数据去重# 子串数据去重后的长度 等于 整个数据序列去重的长度, 则找到最小区间长度if sub_line_unique.__len__() == line_unique_num:find_number += 1start_index.append(j+1) # 因为数字序列的编号从1开始if find_number != 0:breakprint(min_length, find_number)
for i in start_index:print('[%d,%d]' % (i, i + min_length - 1), end=' ')"""
# 测试1
10
1
1
3
4
6
6
5
1
3
36 3
[2,7] [3,8] [4,9]
""""""
# 测试2
输入数据个数:
3
1
2
33 1
[1,3]
"""
搜狗2019校园招聘笔试-智能图像识别图像研究员相关推荐
- 京东2019校园招聘笔试+面试(算法工程师岗位)
一面(20180927): (1)没有自我介绍,上来直接是面试. (2)你的智能对话系统是怎么做的? 我就把项目中用到的seq2seq模型+Attention机制整个框架给他画出来了.然后把seq2s ...
- 商汤科技 2019校园招聘笔试编程题-2018.09.07
本来阿里和商汤冲突了,就放弃了阿里的劝退型笔试,结果,商汤也劝退,只发一下题目做参考吧!知道题解的同学可以在评论区粘上链接,我会随时更新并加以感谢的.
- 滴滴 2019校园招聘笔试编程题-2018.09.18
输入: slep slap sleep step shoe shop snap slep 输出: slep slap step 代码是交卷后写出来的,没有经过测试,不知道是否能够AC 利用DP求出每个 ...
- 中国电信IT研发中心 2019校园招聘笔试F卷 编程题-2018.09.10
#include <bits/stdc++.h> using namespace std; int arr[26]; int main() {string str;cin >> ...
- 国内著名IT公司(百度、搜狗、网易、新浪)2012校园招聘笔试、面试小结
面试中常问的非技术类问题: 1.简单介绍一下你自己. 2.对自己做个评价,优点.缺点. 3.自己做过的项目,详细介绍一下. 4.实习经历,在实习过程中遇到哪些问题,如何解决的? 5.你对公司有什么问题 ...
- 各大IT公司2012校园招聘笔试面试整理
从2011年7月底从学校出来到北京找实习和工作,到现在差不多半年了.期间参加了大大小小许多家公司的校园招聘,由于自己的实力问题没能拿到一个Offer,好在运气不错,最后拿到了所在实习公 ...
- 2012IT公司校园招聘笔试面试题
现在对参加过的一些公司的笔试.面试进行简答的整理和总结,以供大家参考. 面试中常问的非技术类问题: 1.简单介绍一下你自己. 2.对自己做个评价,优点.缺点. 3.自己做过的项目,详细介绍一下. 4. ...
- 各大互联网公司校园招聘笔试面试题
0 2018校园招聘 2019校园招聘 360 51信用卡 A Apple 爱奇艺 阿里巴巴 amazon B 百度 暴风影音 心得 C 创新工场 D 大数据 滴滴出行 E ebya F Facebo ...
- 各大IT公司2012校园招聘笔试面试整理(强烈推荐)
面试中常问的非技术类问题: 1.简单介绍一下你自己. 2.对自己做个评价,优点.缺点. 3.自己做过的项目,详细介绍一下. 4.实习经历,在实习过程中遇到哪些问题,如何解决的? 5.你对公司有什么问题 ...
最新文章
- 网站图片如何优化才对排名有所提升呢?
- 自动档车正确起步方法,自动挡开车起步7个步骤
- [androd] android的在线源码网站,各个版本都有(目前已到俺android 4.2,但不包含kernel部分的代码)
- 使用EL表达式接收url的传值
- 前缀 中缀 后缀表达式
- mysql-workbench连接数据库
- JavaSE--异常信息打印
- 简单分析minidump
- CDRX6启动失败 提示尝试重新启动计算机和应用程序的解决方法
- 微信h5游戏如何在微信中做好域名防封 防屏蔽的 工作
- java406错误_Springmvc报406错误(Not Acceptable)的有效解决方法
- 幼儿课外活动游戏_幼儿园户外活动游戏有哪些
- Oracle 12c CDB和PDB的切换
- ASPack压缩可执行文件
- 设计模式--设配器模式
- win10 租约到期不可连网
- 十一大排序算法的实现
- MyBatis常见问题
- 第23次CSP认证(202109)
- 创始人专访 | Paul:听到自己的学员取得科研成功,是最大的幸福之一
热门文章
- 最强音乐播放器JetAudio_v9.9.1专业完美破解版
- 机器人学习Robot Learning之模仿学习Imitation Learning的发展
- nvm切换node版本基本操作篇
- JAVA利用jsoup爬取今日天气预报信息
- Android 开发资料便签
- 计算机毕业设计(附源码)python药店管理系统
- istio sidecar流量接管_Istio 架构
- matlab 提取最小值,MATLAB中取最小值的代码
- 浅谈电气火灾监控系统在大学公寓中的应用
- 打印出100以内的质数,一行显示5个,(质数是只能被1跟自身整除的数,1不是质数)--Java