48. 旋转图像

class Solution {
public void rotate(int[][] matrix) {
int n=matrix.length;
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
int t=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=t;
}
}
for( int i=0;i<n;i++){
for(int j=0;j<n/2;j++){
int r= matrix[i][j];
matrix[i][j]=matrix[i][n-j-1];
matrix[i][n-j-1]=r;
}
}
}
}
剑指 Offer 56 - I. 数组中数字出现的次数

class Solution {
public int[] singleNumbers(int[] nums) {
int sum=0;
//得到异或结果,即为不相同两个数的异或结果sum
for(int num:nums)
sum^=num;
//得到sum的二进制的1的最低位
int flag=(-sum)∑
int result[]=new int[2];
//分成两个组进行异或,每组异或后的结果就是不相同两个数的其中之一
for(int num:nums){
if((flag&num)==0)
result[0]^=num;
else{
result[1]^=num;
}
}
return result;
}
}
版权声明:本文为qq_38847154原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。