网易算法岗的笔试实在是有点儿难
有空再把这几道题给搞一下吧
第一题:
给出一个数值在1-n间的排列,每次可以对排练的两个数进行加一和减一操作,每次操作完必须保证数组中没有重复值。问最少几步可以保证得到非递减排列?
3 2 1 => 3 1 2 => 2 1 3 => 1 2 3
经过三次操作,可以把数组 3 2 1
转换成 1 2 3
。
第二题
给出一个字符串s,只包含r,e,d
三种字符,问该字符串包含的子串中,有哪些子串中r,e,d
三种字符的数目是相同的。
示例:
redrde
这个字符串包含的情况是
[red]rde
r[edr]de
red[rde]
[redrde]
所以有4中分割情况。
第三题
给出n个数,让从中选k个数,使得k个数按位与的结果最大。
示例:
5 2
1 2 3 4 5 6
将4与5 或者 4与6 或者5与6 按位与操作,得到的值最大是4。
第四题:
一个序列满足如下条件:,求第n项的值。因为值较大,需要对1e9+7取模。
示例:
2 3 4
11664
参考链接
- https://www.nowcoder.com/discuss/1022117?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=EDBC3715E105EA5EFAF442BEAF87364A-1661003317829