百度笔试题之数组差值(题目与源码) ********************************* 给定一个长度为n并且只含有非负整数的数组A,显然这个数组一共有n*(n+1)/2个区间(每个区间至少有一个元素)。给定m个查询值K,对于每个查询值K,我们将每个区间最小值与K做“差值”,“差值”的定义如下: 当最小值MINi不小于K时,则“差值”为MINi – K 否则“差值”为0 你的任务是求出对于每个查询值K时,n*(n+1)/2个“差值”的和。 【数据范围】 1 ≤ n, m ≤ 10
面试题(测试工程师的面试题):
有一个类似:“this is a book !”的字符串,要求把字符串反转成“! book a is this”,反转单词倒是好说,但是要求两个单词中的空格数不一定,而且不能有缺失
思路:
先把字符串切割成一个字符串数组,按照“”进行切割。或者转成char[] 也是可以的
然后再去遍历这个数组
如果当前的字符串不是” “,就一直添加到一个StringBuffer中,如果遍历到了空格,就说明单词结束了