M面经Prepare: Delete Words Starting With One Character
给定一个char array, 这个array是一个句子,然后给定一个字母,把这个array里面带有这个字母开头的单次删掉,操作是要求in place.
检测 array[i]==' ' && i<array.length-1 && array[i+1]==target,这种情况,设置j从i+1开始直到找到下一个‘ ’或者到达末尾,然后中间的全部删掉,i从j开始
特别要注意第一个char是target的情况
package DeleteWordsStartByCertainChar;
import java.util.*;
public class Solution {
public char[] modify(char[] array, char tar) {
if (array==null || array.length==0) return new char[0];
int index=0;
int i=0;
for (; i<array.length; i++) {
if (i==0 && array[i]==tar || array[i]==' ' && i<array.length-1 && array[i+1]==tar) {
int j = i+1;
while (j<array.length && array[j]!=' ') j++;
i = j;
i--;
}
else array[index++] = array[i];
}
char[] res = Arrays.copyOf(array, index);
return res;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Solution sol = new Solution();
char[] array = "ab big ball bis brunning b ".toCharArray();
char[] res = sol.modify(array, 'b');
System.out.println(res);
}
}
M面经Prepare: Delete Words Starting With One Character的更多相关文章
- delete archivelog all 无法彻底删除归档日志?
最近在因归档日志暴增,使用delete archivelog all貌似无法清除所有的归档日志,到底是什么原因呢? 1.演示环境 SQL> select * from v$version whe ...
- EJB通过ANT提高EJB应用程序的开发效率、无状态发展本地接口bean、开发状态bean
该jboss集成到eclipse 关掉Jboss控制台新闻Ctrl+c,在MyEclipse→Servers→Jboss可配置JBoss. 通过ANT提高EJB应用的开发效率 在HelloWorld ...
- EJB通过ANT提高EJB应用的开发效率、开发具有本地接口的无状态bean、开发有状态bean
把jboss集成进eclipse 关闭Jboss控制台按Ctrl+c,在MyEclipse→Servers→Jboss里面可以配置JBoss. 通过ANT提高EJB应用的开发效率 在HelloWorl ...
- EJB开发第二期---开发具有本地接口的无状态Bean
一.EJB中的bean 1.1 EJB中bean分类 会话bean(session bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过jdbc直接操作数据库,但大多数情况下都 ...
- Oozie wordcount实战
一.定义 基本概念 Action: An execution/computation task (Map-Reduce job, Pig job, a shell command). It can a ...
- bash5.0参考手册
Bash Reference Manual a.summary-letter { text-decoration: none } blockquote.indentedblock { margin-r ...
- Oozie分布式任务的工作流——Spark篇
Spark是现在应用最广泛的分布式计算框架,oozie支持在它的调度中执行spark.在我的日常工作中,一部分工作就是基于oozie维护好每天的spark离线任务,合理的设计工作流并分配适合的参数对于 ...
- Oozie分布式任务的工作流——脚本篇
继前一篇大体上翻译了Email的Action配置,本篇继续看一下Shell的相关配置. Shell Action Shell Action可以执行Shell脚本命令,工作流会等到shell完全执行完毕 ...
- Oozie调度报错——ORA-00918:未明确定义列
Oozie在执行sqoop的时候报错,同样的SQL在sqoop中可用,在oozie中不可用: Caused by: java.sql.SQLSyntaxErrorException: ORA-0091 ...
随机推荐
- mina学习(一)
Mina:是一个帮助用户开发高性能和高伸缩性网络应用程序的框架 学习地址链接:http://www.cnblogs.com/xuekyo/archive/2013/03/06/2945826.html ...
- java 重写 重载
首先我们来讲讲:重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态 ...
- 使用AJAX做关键字查询:输入框变化自动搜索、无刷新页面;
使用AJAX做关键字查询要求:1.无刷新页面2.输入框变化自动搜索 <style type="text/css"> .k{ width:150px; height:30 ...
- yii2 rbac-plus的使用
前言 1.本教程适合有RBAC基础,对RBAC有一定了解的同学. 2.本教程使用advanced模板 3.确保数据库中存在user表,没有的同学请查阅文档 运行 php yii migrate 来生成 ...
- SDP协议中的Continuation State
在SDP request和SDP response中,最后一部分为Continuation State,结构如下: 它用于一次response不够把所有的Data传回去的情况.这时候需要将respon ...
- Android源码剖析之Framework层实战版(Ams管理Activity启动)
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 讲到实战,就不得不拿两个例子来说明,本篇想拿的是应用最广泛的两个:Ams和Wms,一个管理activ ...
- 【Android测试】【随笔】获得App的包名和启动页Activity
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5157308.html 前言 经常看到一些刚刚接触Andro ...
- (leetcode)Implement Stack using Queues
Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. po ...
- calc 的使用
通常情况下,一个元素节点使用固定定位absolute和固定定位fixed,会遇到一个问题,如果设置100% ,此时你在对他设置padding,border,margin,它就会撑满 具体情况如下图:
- 内置对象Global和Math对象
Global对象Math对象 1.Global对象Global.属性方法或者Global.方法()是无效的,web浏览器将Global作为window对象的一部分加一实现.uri编码——了解2.eva ...