首页 > 其他分享 >笔试_0001(数组A内无重复,如A=[a,b,c])

笔试_0001(数组A内无重复,如A=[a,b,c])

时间:2023-09-22 09:45:01浏览次数:35  
标签:arr 0001 笔试 System char static 数组 new String

 

 

public static void main(String[] args) {
//        question1();
//        question2();

        System.out.println(~1 + 1);
    }

    private static void question1() {
        /*
          思路,规律:
          利用字符串的包含和替换。
         */
        char[] arr = {'a','b','c','c'};
        String s = new String(arr);
        while(s.length() > 0){
            char b = getRandomChar();
            System.out.println(s + "------" +b);
            String bStr = String.valueOf(b);
            if(s.contains(bStr)){
                s = s.replaceFirst(bStr,"");
            }
        }
        System.out.println(s);
    }

    private static char getRandomChar() {
        String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random random = new Random();
        int number = random.nextInt(str.length());
        return str.charAt(number);
    }

    private static void question2() {
        /*
        思路,规律:(也是利用字符串的包含和替换。)
        如果连续且包含,则继续并将字符串该字符替换为空。否则重置。
        直到找到结束,或遍历一遍没找到结束。
         */
        char[] arr = {'a','b','c','c'};
        String s = new String(arr);
        String temp = s;
        String target = "1cacb23abcc456";
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<target.length();i++){
            String c = String.valueOf(target.charAt(i));
            if(s.contains(c)){
                sb.append(c);
                s = s.replaceFirst(c,"");
                if(s.length() == 0){
                    break;
                }
            }else{
                sb = new StringBuilder();
                s = temp;
            }
        }
        System.out.println(sb.toString());
    }

 

标签:arr,0001,笔试,System,char,static,数组,new,String
From: https://www.cnblogs.com/super-chao/p/17721593.html

相关文章

  • 默认选中数组最多的tab
    初次默认选中数组最多的tabinitTab:true,tabs:[],activeTab:0,if(this.initTab){letmaxUnread=-1;letactiveTabIndex=-1;for(leti=0;i<this.tabs.length;i++){if(this.tabs[i].unread>maxUnread){ maxUnread=this.tabs[i].unread; ......
  • 数组反转以及二位数组
    数组反转就是新生成一个数组,来反向接受原数组位置的数据publicstaticint[]reverse(int[]array){int[]reverse=newint[]array.length;for(inti=0,j=array.lenhth;i<array.length;i++,j--){ reverse[j]=array[i];}returnreverse;}假如遍历数组并输出的函数pri......
  • Leetcode刷题448.找到所有数组中消失的数字
    给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1,n] 内。请你找出所有在 [1,n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 示例1:输入:nums=[4,3,2,7,8,2,3,1]输出:[5,6]示例2:输入:nums=[1,1]输出:[2] 提示:n==nums.lengt......
  • 数组
    感觉不太好记定义有两种int[]a={1,2,3,4,5,6,7}//这种是静态初始化int[]a=newint[10]//这种是动态初始化动态初始化感觉赋值有点费劲a[0]=1;//或者用for循环来赋值还有实现一个简单的四则运算计算器,主要用了switch语句和scanner代码如下;就是很简单的那种四则运算的......
  • 数组初学习
    数组创建数组是相同类型的有序组合//创建命令int[]nums=newint[个数]下图为实践计算数组中所有数的和三种初始化和内存分析数组被声明时会存在栈中,真正创建时数组才会存在堆中,我们无法调用超过数组最大下标的数组,会报错java.lang.ArrayIndexOutOfBoundsException意思是......
  • JavaScript实现数组对象去重
    有多种实现方式:一、使用 Set 对象:1Array.from(new Set(array))该方法会先创建一个 Set 对象,然后再使用 Array.from 方法将 Set 对象转换为数组,因为 Set 对象不允许有重复的元素,所以这样可以实现去重的效果。但是,如果数组中的元素是对象,Set 对......
  • python,一个数组y1存放yolo的位置信息BBOX,一个y2数组存放识别的结果信息,根据y1数组按
    importnumpyasnp#示例数据y1=np.array([[50,100,200,300],[10,20,30,40],[60,70,80,90]])y2=np.array(['cat','dog','bird'])#按左上角点的坐标排序y1数组sorted_indices=np.lexsort((y1[:,1],y1[:,0]))y1_sorted=y1[sorted......
  • LeetCode53.最大子数组和
    要求最大连续子数组的和,可以这样考虑,比如现在我想求下标 i~j,i<j 这一范围内子数组的和,那么我可以分别先求出 0~i-1 范围和 0~j 范围两个子数组的和,可得Sum[i~j]=Sum[0~j]-Sum[0~i-1] ,这就是本题解法的核心思想。解法详细描述:先从下标0开始,遍历 nums 数组,求出到当前下标......
  • vue通过 v-for循环出来的数组给元素 加不同的颜色
    直接上代码:1<divv-for="(item,i)incolorList":key="i">2<divclass="cmn-color">3<div:style="{'background':item}"></div><span>开发{{i+1}}</span>4</d......
  • 二维数组
    for(inti=0;i<array.GetLength(0);i++){for(intj=0;j<array.array.GetLength(1);j++){Console.WriteLine(array[i,j]);}//0,00,10,2//1,01,11,2}基本概念1.二维数组是使用两个下标(索引)来确定元素的数组两个下标可以理解为行标和列......