JAVA的细节,自己的笔记,持续更新

1、 双重循环的跳出

使用标识,然后break ‘标识’
如:

outterLoop :for(int i=0;i<board.length;i++) {
				for(int j=0;j<board.length;j++) {
					if(board[i][j]=='R') {
						x=i;
						y=j;
						break outterLoop;
					}
			}

这里的outterLoop就是标识(我叫它标识,术语我也不记得)

2、&的运算

今天做力扣的时候,是这道题 有效括号的嵌套深度

我做的是

public static int[] maxDepthAfterSplit(String seq) {
        int[] arr = new int[seq.length()];
        char[] chars = seq.toCharArray();
        int intx=0;
        int inty=0;
        for (int i =0;i<chars.length;i++) {
            if(chars[i]=='('){
                intx++;
                if(intx%2!=0){
                    arr[i]=0;
                }else{
                    arr[i]=1;
                }
            }else{
                inty++;
                if(inty%2!=0){
                    arr[i]=0;
                }else{
                    arr[i]=1;
                }
            }
        }
        return arr;
    }

然后看到解题里的是这种,来着我董大的甜姨

public class Solution {
    public int[] maxDepthAfterSplit(String seq) {
        int[] ans = new int [seq.length()];
        int idx = 0;
        for(char c: seq.toCharArray()) {
            ans[idx++] = c == '(' ? idx & 1 : ((idx + 1) & 1);
        }
        return ans;
    }
}

作者:sweetiee
链接:https://leetcode-cn.com/problems/maximum-nesting-depth-of-two-valid-parentheses-strings/solution/ti-mian-shuo-ming-ti-mu-jiang-jie-shuo-hao-fa-wan-/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

所以我在想一样的方法我的代码行这么多,他的这么少,就研究了一下&的运算:

 //&将两个数进行与位计算 即:当idx为偶数是,
 //idx&1=0,为基数时,当idx为基数时,idx&1为1

&是与运算,即将数值转化为2进制,然后两者比较
如:00001
11110
=00000
即相同的为1,不相同为0

IDEA的使用注意事项

1.学习的时候每学习一块知识点单独的建一个项目,不然后面常出现ClassNotFound错误啥的,因为写的类太多了类重复啥的,jar包重复加载啥的各种错误出现

2.jar包一定要导入在web->WEN-INF->lib下,tomcat有点蠢,放错了它可能找不到相关类。

ps:今天找错误找晕了wuwuwuuwuwuw~~~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值