java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)

import java.util.*;

public class Same {
    public boolean checkSam(String stringA, String stringB) {
        // write code here
        int[] str1=new int[256];
        int[] str2=new int[256];
        if(stringA.length()!=stringB.length()){
            return false;
        }
        for(int i=0;i<stringA.length();i++){
                str1[stringA.charAt(i)]++;
                str2[stringB.charAt(i)]++;
        }
        for(int j=0;j<256;j++){
            if(str1[j]!=str2[j]){
                return false;
            }
        }
        return true;
    }
}

注意几点:

1.在获取字符串的每一位的时候可以使用  toCharArray() 和str.charAt(i)两种方式

2.char类型能自动转换成int类型。会将char类型转换成字符对应的的ascii码

3.int[] str1=new int[256] 全局变量没有初始值默认为0,如果是int[] str;默认值是null。  全局变量 整型默认值也是0;局部变量不会自动初始化

4.抽屉算法,n+1个球放进n个抽屉里面,至少有一个抽屉里面大于1个球。  同样的道理,所有ascii字符256种,用一个哈希表存起来。

时间: 2024-10-19 12:44:22

java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)的相关文章

java.io.IOException: ORA-22920: 未锁定含有 LOB 值的行

究其原因是因为没有锁定要更新的行记录.将 mysql="select filebody from filelist where filename=?"中的SQL语句加上 for update即可.如:mysql="select filebody from filelist where filename=? for update". 昨天测weblogic试连接池情况,多次刷新,连接不释放,然后查代码,连接的地方都在finally里边关掉了啊,还是不释放,突然想起sq

java查找重复类/jar包/普通文件

开发web应用时,有时更新了类却没有生效,其实是因为jboss/tomcat中其他发布包下有同名类(包括全路径都相同). 于是萌发了做个程序来检查指定目录是否存在重复类(通过asm从类文件中取类的全路径),扩展开来,还支持查找重复的文件(按文件md5进行比较),重复的jar文件. 主要代码如下: 简单测试代码: package cn.jerryhouse.util.dup_files.test; import java.io.File; import org.junit.Test; import

java将中文转换成英文并支持首字母大写

原文:java将中文转换成英文并支持首字母大写 源代码下载地址:http://www.zuidaima.com/share/1563120428403712.htm 之前看到有牛牛发布过这一个代码,但是他写的那一个代码只是纯转换,并不能满足太多的需求.今天正好工作时遇到了这一个问题,需求把首字母变为大写.参考了一些代码演变而成的.希望大家以后可以用到. 这是事例图 这是结果图. 版权声明:本文为博主原创文章,未经博主允许不得转载.

JAVA查找--[二分查找]

1 package com.array; 2 3 public class BinaryFind { 4 /* 5 * 项目名称:二分查找 ; 6 * 项目要求:用JAVA对数组进行查找,并运用快速查找算法; 7 * 作者:Sevck; 8 */ 9 public void find(int leftIndex, int rightIndex, int val, int arr[]) { 10 // 首先找到中间的数 11 int midIndex = (leftIndex + rightInd

java按给定字节数截取含有中英文的字符串

需求:按给定字节数截取含有中英文的字符串,最后一个字节如果截取的是中文则不截取,是英文则截取 实现代码如下(未进行空字符串或非法字节数等异常判断) 1 import java.util.ArrayList; 2 import java.util.List; 3 import java.util.Scanner; 4 5 /** 6 * Created by ycl on 2017-8-18 21:01:16. 7 */ 8 public class TestA { 9 public static

Java查找算法(二): 顺序查找

[ 什么是顺序查找 ]  顺序查找又叫线性查找,是最基本的查找技术,它的查找过程是:从表中第一个或最后一个记录开始,逐个和给定的值比较,如相等则查找成功:如直到最后一个值仍不等时,则表中没有所查的记录,查找不成功. [ Java实现顺序查找 ]  public class SequentialSearch { public static void main(String[] args) { Integer target = 6; Integer[] iArr = { 3, 2, 6, 8, 5,

java 查找类的所有子类

package _02; import java.io.File; import java.net.URL; public class MainTest_FindAllSubClass { public static void main(String[] args) { Class<?> clazz = MainTest_FindAllSubClass.class; // 定位到当前的包路径 // URL url = Toy.class.getResource(""); /

Java 查找算法

这个问题有几个点要先确认 必须是有序,如果无序的话就只能全遍历了 查找算法跟数据结构相关,不同的数据结构适用于不同的查找算法 查找算法与磁盘I/O有一定的关系,比如数据库在索引排序的时候,如果每次都从磁盘读取一个节点然后进行判断 数组 如果知道下标的话就方便了,查找的复杂度为1. 如果是针对值的查找,那么顺序遍历是O(n), 二分查找 使用二分查找的话可以减少时间复杂度为:O(logn) /** * 二分查找又称折半查找,它是一种效率较高的查找方法. [二分查找要求]:1.必须采用顺序存储结构

java查找反复类/jar包/普通文件

开发web应用时,有时更新了类却没有生效,事实上是由于jboss/tomcat中其它公布包下有同名类(包含全路径都同样). 于是萌发了做个程序来检查指定文件夹是否存在反复类(通过asm从类文件里取类的全路径),扩展开来,还支持查找反复的文件(按文件md5进行比較),反复的jar文件. 主要代码例如以下: package cn.jerryhouse.util.dup_files; import java.io.File; public abstract class FileProcessor {