携程9.5笔试
人生第二次ak 4/4 战斗爽!!!
1. 签到题 1-n排列 令最长上升连续序列长度为k 并且字典序最小 直接前k个1到k 剩下的倒序
2. 01字符串变换,每次可以从开头到i处取反 例如11001(i=4) -> 00111 变换n次变成全1 n就是这个字符串的权值 求字符串奇数长度的连续子串的权值是奇数的子串个数
其实很简单 0开头的字符串 权值一定是奇数 直接遍历一次统计一下每个0开头有多少个奇数长度的子串就行了
3. 用0-n组成一个m位数 能组成多少个大于k的数
暴力回溯 注意0不能开头
4. 一个数组 每次可以把其中一个数-1 最少多少次 可以让数组中每个长度为k的连续子数组的和 都小于sum
滑动窗口+贪心,从前往后滑,如果超过sum就贪心的从窗口最右边开始改
注意数据规模,似乎sum和数组中的数都要用long 不然只有25%
1. 签到题 1-n排列 令最长上升连续序列长度为k 并且字典序最小 直接前k个1到k 剩下的倒序
2. 01字符串变换,每次可以从开头到i处取反 例如11001(i=4) -> 00111 变换n次变成全1 n就是这个字符串的权值 求字符串奇数长度的连续子串的权值是奇数的子串个数
其实很简单 0开头的字符串 权值一定是奇数 直接遍历一次统计一下每个0开头有多少个奇数长度的子串就行了
3. 用0-n组成一个m位数 能组成多少个大于k的数
暴力回溯 注意0不能开头
4. 一个数组 每次可以把其中一个数-1 最少多少次 可以让数组中每个长度为k的连续子数组的和 都小于sum
滑动窗口+贪心,从前往后滑,如果超过sum就贪心的从窗口最右边开始改
注意数据规模,似乎sum和数组中的数都要用long 不然只有25%
全部评论
恍然大悟,第二题相邻位置的翻转次数相差0或者2,如果当前位置是0,则翻转次数就➕2,是1,则和前面位置翻转次数保持不变,所以开头是0,就是从1开始累加 后面不管有没有0,权值为奇数。我写的时候都打印出来每个位置的翻转次数 没想到这一点
第三题真能回溯啊,我还以为要超时哈哈
过了吗
我好像只对sum用了long 最后过50
哎第二题我只想到了连续0或者连续1算一段,除非最后一段是1否则有几段就是几次,没看出来0开头一定是奇数
你的思路太好了,学不来
0开头的字符串权值为啥一定为奇数?000不是一次翻转就够了?
不会,我就用了Long,还是25%
我c,我用的int,是说这么一直a不了
相关推荐
02-25 16:29
齐鲁工业大学 golang
找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。
你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。
工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。 点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看9道真题和解析