Java程序员笔试面试之String4

如何删除String中重复的字符good?

思想一:蛮力法,进行双重循环,此算法的复杂度为O(n^2),n是指字符串的长度

public class RemoveSameChar {
     public static String removeDuplicate(String s){
    	 char[] c=s.toCharArray();
    	 for(int i=0;i<c.length;i++){
    		 if(c[i]=='\0'){
    			 continue;
    		 }
    		 for(int j=i+1;j<c.length;j++){
    			 if(c[i]=='\0'){
        			 continue;
        		 }
    			 if(c[i]==c[j]){
    				 c[j]='\0';
    			 }
    		 }
    	 }
    	 int n=0;
    	 for(int i=0;i<c.length;i++){
    		 if(c[i]!='\0'){
    			 c[n++]=c[i];
    		 }
    	 }
    	 return new String(c, 0, n);
     }
     public static void main(String args[]){

    	 String s="good";
    	 s = removeDuplicate(s);
    	 System.out.println(s);
    	 String s1="aabbcc";
    	 s1=removeDuplicate(s1);
    	 System.out.println(s1);
     }
}
结果:god
abc
时间: 2024-09-30 07:01:13

Java程序员笔试面试之String4的相关文章

Java程序员笔试面试之Java基础

1.==与equals与hashcode的区别作用 ①==是用来比较数值是否相等,也可以用来比较引用是否相等,也就是比较是否指向同一个对象. ②equals方法是Object提供的方法,因此每一个对象都有equals方法,他的实现也是通过==运算符实现的,所以在没有覆盖equals()方法的前提下,equals方法跟==是完全一样的 ③相比==运算符equals方法特殊之处就是他可以被覆盖,例如String,他可以比较2个独立对象的内容是否相等,例如: String s1=new String(

Java程序员笔试面试之java基础知识

1.finalize()方法的使用 2.Java程序初始化的顺序 3.Java中变量的类型 4.构造函数 5.为什么java中有些interface没有任何方法 6.java中的反射机制是什么 7.java中创建对象的方式有多少种 8.多态实现的机制是什么,编译时多态,运行时多态, 9.overload和override区别,以及各自的注意事项 10.abstract class和interface有什么区别

Java程序员笔试面试之String2

2.如何判断2个字符串是否有相同的字符组成 例如"aaaabbc"跟"abcbaaa" 2种思想 import java.lang.reflect.Array; import java.util.Arrays; //思想一:先将2个String排序,在比较,所谓2个字符串相等指的是构成string的字母以及个数一样,顺序可以不一样 public class TheSameString { public static void compare(String s1,St

Java程序员笔试面试之String5

.如何统计String中有多少个单词? public class CountWord { public static int countWord(String s){ int count=0; int word=0; for(int i=0;i<s.length();i++){ if("".equals(s.charAt(i))) word=0; else if(word==0) { word=1; count++; } } return count; } public stat

Java程序员笔试面试之String3

public class SameString { //思想二:每一个字符都对应着自己的ASC码,第一个思想的算法复杂度为O(nlogn),一般可以利用空间来降低时间复杂度 //可以开辟一个大小为256的数组空间,并且将256个数组元素都置为0,然后遍历第一个字符串把字符的ASC作为数组下标,数组元素都加1, //然后遍历第二个字符串将数组元素的各个值都减1,如果最后数组元素的值为0的话说明就是相同的字符串.此算法的时间复杂度为O(n) public static void compare(St

Java程序员笔试面试之String1

1.如何实现字符串的反转例如:"how are you"--->"you are how" public class InverseString { public void swap(char[] arr,int front,int end){//将char[]反转 while(front<end){ char temp=arr[end]; arr[end]=arr[front]; arr[front]=temp; front++; end--; } }

Java程序猿笔试面试之String4

怎样删除String中反复的字符good? 思想一:蛮力法,进行双重循环,此算法的复杂度为O(n^2),n是指字符串的长度 public class RemoveSameChar { public static String removeDuplicate(String s){ char[] c=s.toCharArray(); for(int i=0;i<c.length;i++){ if(c[i]=='\0'){ continue; } for(int j=i+1;j<c.length;j

Java程序员笔试面试之String

1.如何实现字符串的反转例如:"how are you"--->"you are how" 2.如何判断2个字符串是否有相同的字符组成 例如"aaaabbc"跟"abcbaaa" 3.如何删除String中重复的字符good 4.如何统计String中有多少个单词 5.如何输出String的所有组合

CSDN日报20170320——《Java 程序员的面试经历和题库》

[程序人生]Java 程序员的面试经历和题库 作者:nuaazhaofeng 最近打算换城市了,受不了北京的雾霾了,所以准备逃离啦.所以一直在面试中,整理了下最近遇到的一些面试题,供大家参考.其中会包含一些面试的小经验,如果您是面霸,希望能给予指导.自己不是大牛,如果您是大牛,也可以忽略之.我面试的岗位是Java后端开发工程师. [Python]7行Python代码的人脸识别 作者:半吊子全栈工匠 随着去年alphago 的震撼表现,AI 再次成为科技公司的宠儿.AI涉及的领域众多,图像识别中的