程序员笔试 编程题收集整理(三)

1.牛牛很喜欢字符串,但是相对于字符串,他更喜欢回文字符串。我们定义一个串为回文字符串,当且仅当它从前往后读和从后往前相同。现在牛牛想知道对于任意一个字符串,它至少需要替换多少个字符才能将它变为回文字符串。一次替换操作中,牛牛可以选择任何一个位置的字符,将其变为另一个字符
输入描述:
第一行一个整数N,表示回文串的长度
接下来一行N个小写字母表示字符串
输出描述:
输出一个整数表示答案
示例1:
输入:
5
acacb
输出:
1

示例2:
输入:
4
acac
输出:
2

2.给你一个N X M的方格图,现在要求你对其中每个1 X 1的小方格进行染色,要求如下:
每种颜色染色的格子数都是相同的
相邻格子染得颜色不同
所有格子必须染色
现在问最少需要多少种颜色就可以完成任务
输入描述:
第一行一个正整数T,代表测试数据组数。
接下来T行每行两个空格分割的正整数N,M,代表方格图的行数和列数。
1<=T<=100
1<=N,M<= 1 0 8 10^8 108
输出描述:
共T行每行一个整数表示答案
示例1:
输入:
1
2 2
输出:
2

3.牛牛给你一个数n,将其拆成k个数字的和,使得用这k个数字的部分和能表示出1到n中的所有数字。例如n=6,k=3时,将6分为1,2,3,那么有1=1,2=2,3=3,4=1+3,5=2+3,6=1+2+3,现在给你n,求最小的k是多少。
输入描述:
第一行为一个t,表示有t组数据
接下来有t行,每个一个整数n
1<=t<=1000,1<=n<= 1 0 9 10^9 109
输出描述:
输出为t行,每行表示一个最小的k
示例1:
输入:
2
6
2
输出:
3
2

4.给定一个大小为n*m的矩形a,执行恰好k次操作。每次操作可以选择一行或者一列将其中的元素的值全部累加到sum中,然后把这些数都减去d。求sum的最大值。
输入描述:
第一行四个数字n,m,k,d
接下来n行m列表示矩阵a。
1<=n,m<= 1 0 3 10^3 103,1<=k<= 1 0 5 10^5 105,0<=d<=100,1<= a i , j a_{i,j} ai,j<=1000
输出描述:
一行一个数字表示答案
示例1:
输入:
2 2 2 2
2 3
3 3
输出:
11

猜你喜欢

转载自blog.csdn.net/qq_34124009/article/details/107950319
今日推荐