今日头条---后台开发笔试题
第一题:
简化Unix风格的路径:
实例:
输入:/home/
输出:/home
实例2:
输入:/a/./b/../../c/
输出:/c
分析:(参考自:https://blog.csdn.net/qq_28618765/article/details/78013580?utm_source=copy)
“..”表示返回路径的上级目录(如果当前是根目录则不处理),“.”表示当前目录。
使用栈来记录路径名。在处理字符串路径的过程中,遵循以下条件:
(1)重复连续的“/”,只需处理一个即可,即跳过重复连续出现的多个“/”;
(2)如果路径名不为“.”或“..”,将记录的字符串入栈;
(3)如果路径名是“..”且栈不为空,则需要出栈,否则无需处理。
在遍历完字符串之后,逐个取出栈中元素,用“/”分隔并拼接起来,注意:取出的元素是从后往前进行拼接的。
def test(path):pathlist=path.split('/')catch=[]result=''for data in pathlist:if data not in ["",".",".."]:catch.append(data)if '..'==data and catch:catch.pop(-1)if catch==[]:return "/"for data in catch:result=result+"/"+data+""return result
if __name__=='__main__':path=raw_input('')result=test(path)print result
运行结果:
运行AC
第二题:
得出字符串前缀,来唯一标识该字符串;
if __name__=='__main__':n=int(raw_input())strlist=[]result=[]t=[]flag = 0for i in range(n):catch=raw_input()strlist.append(catch)for i in range(0,len(strlist)):result=[]for j in range(0,len(strlist)):for y in range(0,len(strlist[i])+1):if i!=j:item=strlist[i][:y]if strlist[j].find(item)!=0 :result.append(strlist[i][:y])result.sort()breakprint result.pop()# #
# 5
# bytedance
# toutiaohao
# toutiaoapp
# iesaweme
# iestiktok
# b
# toutiaoh
# toutiaoa
# iesa
# iest
# #
运行结果为:
结果:
但:输入一个字符串是会出错
运行20%;运行时间超时。。。。。。。。
修改:
if __name__=='__main__':n=int(raw_input())strlist=[]result=[]t=[]flag = 0for i in range(n):catch=raw_input()strlist.append(catch)for i in range(0,len(strlist)):result=[]result.append(strlist[i][0])for j in range(0,len(strlist)):for y in range(0,len(strlist[i])+1):if i!=j:item=strlist[i][:y]if strlist[j].find(item)!=0 :result.append(strlist[i][:y])breakresult.sort()print result.pop()
运行结果为:
欢迎大佬指点!!!!!!!!!!!!!
实验知识点:
list分割:
知识点:
(1)list中的pop()
参考链接:http://www.runoob.com/python/att-list-pop.html
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
语法
pop()方法语法:
list.pop([index=-1])
参数
- obj -- 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
返回值
该方法返回从列表中移除的元素对象。
今日头条---后台开发笔试题相关推荐
- 头条后台开发面试题分析
一面 60min leetcode原题,求二叉树的最长路径长度. 这道题目偏难 2. 解释XSS 和 CSRF,它们之间有什么区别,以及如何防范. 网络完全问题,这道题目不常见 3. 说一下 ...
- 仿今日头条后台管理系统(一)
(一)今日头条后台管理项目 01-项目-简单介绍 (理解今日头条)的后台管理系统,个人的后台管理系统,发布文章新闻不便利,需要这个PC的系统. 登录 欢迎页面 发布文章 素材管理 内容管理 粉丝管 ...
- 仿今日头条后台管理系统(二)
仿今日头条后台管理系统(二) ###03-登录模块-分析表单组件 <!-- el-form 表单容器 --> <!-- ref="form" 获取dom使用--& ...
- 2015 4399校园招聘游戏开发笔试题
http://gointernetgo.com/textinterview/other/4399yxbs 2015 4399校园招聘游戏开发笔试题 2014-10-19 • 其它 • 0 条评论 •2 ...
- 【腾讯笔试题】2019年腾讯实习正式批移动端开发笔试题
2019年腾讯实习正式批移动端开发笔试题 说明 不定项选择题 编程题 1.小Q与橙汁 题目描述 输入描述 输出描述 示例1 输入 输出 示例2 输入 输出 2.打怪兽 题目描述 输入描述 输出描述 示 ...
- 小米2019秋招系统软件开发笔试题详解
小米2019秋招系统软件开发笔试题详解 兄弟们,给大家个题目玩一玩,题目如下: @ 在游戏Dota2中,有一位非常强大的英雄卡尔,他有三种属性:冰.火.雷.同时卡尔身上有三个无顺序的属性槽,他可以从三 ...
- 今日头条:任务调度面试题解答
今日头条:任务调度面试题解答 题目: 产品经理(PM)有很多好的idea,而这些idea需要程序员实现.现在有N个PM,在某个时间会想出一个 idea,每个 idea 有提出时间.所需时间和优先等级. ...
- 某公司iOS开发笔试题
参考答案不唯一,大家可以根据自己的理解回答,没有必要跟笔者的一样.参考笔者的答案,也许给你带来灵感! 1.对数组中的元素去重复 例如: NSArray *array = @[@"12-11& ...
- 参考别人的面试总结:linux C/C++服务器后台开发面试题总结
参考别人的面试总结:linux C/C++服务器后台开发面试题总结 参考博客:http://www.cnblogs.com/nancymake/p/6516933.html 基础语言知识方面: 1.使 ...
最新文章
- TCP客户机-服务器
- python编程爱心-520用Python画一颗特别的爱心送给她
- 关于NullPointerException
- spring顾问包装通知
- (转) 淘淘商城系列——redis-desktop-manager的使用
- 苹果明年或将推出升级版iPhone 8 人人都用得起?
- 新大陆java工程师笔试题_完美世界,中兴,新大陆支付面经
- PHP的 Warning: Cannot modify header information - headers already sent by警告
- 获取当前网页的绝对URL地址
- 说话人识别python_基于各种分类算法的说话人识别(年龄段识别)
- 计算机多媒体故障,多媒体教室设备常见故障及处理方法
- PHP沉思录之三:Smarty
- winpe下安装linux工具箱,(U盘中安装WinPE、Ubuntu、BT3、CDLinux系统和DOS工具箱等工具的方法.doc...
- 代理模式实例与解析--实例一:论坛权限控制代理
- 以太坊存储项目Swarm (代币bzz)1.0 主网正式上线
- 期货发展的几个重要时间点和事件
- Alienware-17-R4-630-1060-MacOS 笔记本双显卡 外星人黑苹果hackintosh 10.15
- python 等差数列list_python 等差数列末项计算方式
- POI和Java Excel Api导入导出----详细到你不敢相信
- Android向服务器发送图片(一)