剑指offer算法题

本文介绍了两种实用的算法:一种是在递增的二维数组中查找特定元素的方法;另一种是将字符串中的空格替换为%20的实现方式。通过具体的Java代码示例,展示了这些算法的具体实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1二维数组从左往右从上往下都是递增的,求某个数是否在此二维数组内

public class No2Array{
    public static void main(String[] args){
      int[][] array={{1,2,8,9},
                     {2,4,9,12},
                     {4,7,10,13},
                     {6,8,11,15}};
         System.out.println(findByTheUpperRightCorner(5,array));
         System.out.println(findByTheLowerLeftCorner(7,array));
    		 }
      Public static void findByTheUpperRightCorner(int target,int [][] array)
			{
				Int rows = array.length;
				Int colunms=array[0].length;
				Int row=0;
				Int column=columns-1;
				While(row<rows&&column>=0)
					{
						If(target==array[row][column])
						Return true;
						If(target<array[row][column]){
						Column--;
						}
						Else{
						Row++;
						}
						
					Return false;
					}
					Return false;
			}
2、将字符串中的空格换成%20

	public static void main(String[] args){
		String str ="we are happy"
		Char [] string=str.toChatArray();
	
		Replace(string);
	}
	Public static void replace(char[] string){
	Int length= string.length;
	For(int I = 0;i<length;i++){
		If(char[i]=" ")
			Num++;
	}
		Int Newnum=length+2*num;
		Int k =0;
		Char [] newstr=new Char[newnum];
		For(int j=0;j<.length,j++){
		If(string[j]!=""){
		Newstr [k++]=string[j++]
		}else{
			Newstr[k++]="%";
			Newstr[k++]="%";
			Newstr[k++]="%";
		
		}
		
		}
		StringBuilder sb = new StringBuilder();
		For (int t=0;t<newnum;t++)
		{
		Sb.append(nuwstr[t++]);
		}
		String str1=sb.toString();
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值