1 . 编辑 /etc/ssh/sshd_config 文件,找到Port 22 一栏,修改22为你想要的端口

2. 使用下面这句 将新的端口加入允许列表,不然你登出后将无法登陆回来 ,xxxx替换成端口号

ufw allow xxxx/tcp 

3. 重启 ssh服务,service ssh restart 或者 /etc/init.d/ssh restart 即可

(把设置777权限的wordpress文件夹修改回来!)

wordpress升级时如果出现问题,比如说提示update-core.php 权限不足

然后设置权限后又蹦出一堆,

我们使用这两句命令来提升他们的权限( 还有其他两个文件也要设置下, 根据提示设置为777 ), 从而完成升级

( 还有其他两个文件也要设置下, 根据提示设置为777 ), 从而完成升级

chmod -R 777 wp-admin
chmod -R 777 wp-includes

但是升级过后,不禁思考到,如果都是777权限会不会不安全呢,于是兰兰想在stack overflow 上找到了答案,使用以下两句来修正文件夹和文件的权限(ubuntu系统已测试很完美!)

运行这两句前,要先cd到wordpress的根目录!

find . -type d -exec chmod 755 {} \;  # Change directory permissions rwxr-xr-x
find . -type f -exec chmod 644 {} \;  # Change file permissions rw-r--r--

这两句让文件夹设置为755权限,让文件变为644权限(只需要输入#号前的)

水仙花数,n位数字,假设n为3,数字为153,

那么1的3次方,加上5的三次方,加上3的三次方等于153,则称153为水仙花数。

我们需要写出,输入n,输出其位数的所有水仙花数。

代码在运行的时候比较慢,需要多等一会儿,

代码实现:

n位数的水仙花数,假设n为3,则水仙花数的范围是100到1000,

在这个范围内,判定一个数,假设判定100,分割100,为,1,0,0

然后分别计算分割出的字符串的n次幂(1的3次方,0的3次方,0的3次方),

然后相加,对比是否等于原数字,

如果是原数字,则为水仙花数,加入结果数组

最后打印出结果数组

最后!让代码说话!

import java.util.ArrayList;
import java.util.Scanner;

/**
 * @Author: LanHao
 * @Website:https://lanhaoo.club/
 * @Created_Date:8:15 PM_5/23/2019
 * @Magic_Power_Of_Code!
 */

public class water_flower {
    public static void main (String[] args){
        Scanner scanner=new Scanner(System.in);
        String n=scanner.nextLine();
        int new_n=Integer.valueOf(n);
        //todo 判断是否为数字

        String range_left="1";
        String range_right="1";
        String[] a;
        ArrayList result1=new ArrayList();

        for (int i = 0; i<new_n-1;i++){
            range_left=range_left+"0";
        }
        for (int i = 0; i<new_n;i++){
            range_right=range_right+"0";
        }
        int new_range_l=Integer.valueOf(range_left);
        int new_range_r=Integer.valueOf(range_right);
        System.out.println(new_range_l);
        System.out.println(new_range_r);

        for(int ii=new_range_l;ii<new_range_r;ii++){

            double final_answer=0;
            String i=String.valueOf(ii);
            a=i.split("");
            for (int j=0;j<a.length;j++){
                int cc=Integer.valueOf(a[j]);
                final_answer=final_answer+Math.pow(cc,new_n);
            }
            if(final_answer==ii){
                result1.add(ii);
            }



        }
        System.out.println(result1);
    }
}

/**
@param {number[]} nums
@param {number} target
@return {number[]}
*/
var twoSum = function(nums, target) {
for(var i=0;i<nums.length;i++){
for(var j=i+1;j<nums.length;j++){
if(nums[i]+nums[j]==target){
return [i,j];
}
}
}
};

nums=[1,2,3,4] target=6 应该返回的结果为[1,3]

j=i+1保证计算不会重复,返回下标正确

js的一款五子棋算法

这个五子棋算法是从一篇博客上看的,我解决了当五子棋下到两边时,数组越界的问题。

过程:当一方棋子下到棋盘上时,判断左右,上下,左上右下,左下右上 的本方棋子个数,当为5时游戏结束,一方胜出。

	
	function draw_board(){
		var tmp=document.getElementById('canvas1');

		var canva=tmp.getContext('2d');
		canva.clearRect(0,0,600,600);
		
		for(var i=0;i<=15;i++){
		canva.beginPath();
		canva.fillText(i,30+i*30,15);
		canva.moveTo(30+i*30,30);
		canva.lineTo(30+i*30,480);
		canva.stroke();
		if(i!=0){
		canva.fillText(i,0,30+i*30);
		}
		canva.moveTo(30,30+i*30);
		canva.lineTo(480,30+i*30);
		canva.closePath();
		canva.stroke();
	}
	}
	
	
	function start(){
	var over=false;
	var Chessboard=[];//-1 黑,0无,1白
	var chess_num=0;
	var nownow=0;
	document.getElementById('canvas1').setAttribute("height","500px");
	document.getElementById('canvas1').setAttribute("width","500px");
	var tmp=document.getElementById('canvas1');
	
	var canva=tmp.getContext('2d');
	canva.fillStyle="#000";
	
	for(var i=0;i<=15;i++){
		canva.beginPath();
		
		canva.fillText(i,30+i*30,15);
		canva.moveTo(30+i*30,30);
		canva.lineTo(30+i*30,480);
		canva.stroke();
		if(i!=0){
		canva.fillText(i,0,30+i*30);
		}
		canva.moveTo(30,30+i*30);
		canva.lineTo(480,30+i*30);
		canva.closePath();
		canva.stroke();
	}
	
	//初始化棋盘信息,将二维数组所有项全部初始化为0
	for (var i = -1; i <= 16; i++) {
	Chessboard[i]=[];
	for (var j = -1; j <= 16; j++) {
		Chessboard[i][j]=0;
	}
}

	var now_chess=true;
	
	var drawChess=function(i,j){
		
		canva.beginPath();
		canva.arc(30+i*30,30+j*30,13,0,2*Math.PI,true);
		canva.closePath();
		
		if(now_chess){
		canva.fillStyle="#000000";
		}else{
			canva.fillStyle="#fff";
		}
		canva.fill();
		
	}
	
	$('#canvas1').mousemove(function(e){
	// 悬浮事件

		
	});

	tmp.onclick=function(e){
		if(over){
			window.alert("本轮游戏已经结束了,请刷新浏览器重新开始!");
		}else{
		
		var x=e.offsetX;
		var y=e.offsetY;
		console.log(x+"  "+y);
		var i=Math.floor(x/32);
		var j=Math.floor(y/30);
		
		
		if(Chessboard[i][j]===0){
			if(i>=0&&j>=0&&i<=15&&j<=15){
			drawChess(i,j);
			
			chess_num++;
			if(now_chess){ //黑子
				Chessboard[i][j]=-1;
				nownow=-1;
				now_chess=false;//将下一步棋的颜色进行反转
				
			}else{
				Chessboard[i][j]=1;
				nownow=1;
				now_chess=true;//将下一步棋的颜色进行反转
			}
			console.log(nownow);
			//遍历是否赢
			if(chess_num>9){
				var count1=0;
				var count2=0;
				var count3=0;
				var count4=0;
				console.log(chess_num);
				//横向,参考博客 陶伟基
				for(var cc=i;cc>=0;cc--){
					if(Chessboard[cc][j]!=nownow){
						break;
					}
					count1++;
				}//左
				
				for(var dd=i+1;dd<=15;dd++){
					if(Chessboard[dd][j]!=nownow){
						break;
					}
					count1++;
				}//右
				console.log("横向:"+count1);
				
				for(var ee=j;ee>=0;ee--){
					if(Chessboard[i][ee]!=nownow){
						break;
					}
					count2++;
				}//上
				for(var ff=j+1;ff<=15;ff++){
					if(Chessboard[i][ff]!=nownow){
						break;
					}
					count2++;
				}//下
				console.log("竖向:"+count2);
				
			
				for(var gg=i,hh=j;gg>=0,hh>=0;gg--,hh--){
					if(Chessboard[gg][hh]!=nownow){
						break;
					}
					count3++;
					
				}//左上,todo 解决越界问题?
				for(var jj=i+1,kk=j+1;jj<=15,kk<=15;jj++,kk++){
					if(Chessboard[jj][kk]!=nownow){
						break;
					}
					count3++;
				}//右下
				console.log("左上右下:"+count3);
				
				for(var ll=i,mm=j;ll>=0,mm<=15;ll++,mm--){
					if(Chessboard[ll][mm]!=nownow){
						break;
					}
					count4++;
				}
	
							
				for(var nn=i-1,oo=j+1;nn<=15,oo>=0;nn--,oo++){
					if(Chessboard[nn][oo]!=nownow){
						break;
					}
					count4++;
				}
				console.log("右上左下:"+count4);
				
				if(count1>=5||count2>=5||count3>=5||count4>=5){
					if(nownow==-1){
						window.alert("黑棋赢了");
					}else if(nownow==1){
						window.alert("白棋赢了");
						}
					over=true;
				}


				}
			}
			
		}
	}
		}
}

有的地方缩进可能有点问题。写的着急了。

效果可看兰兰想的五子棋网页
https://lanhaoo.club/lab/game_board33.html