在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ Java問答
好難瘦 回答

chmod 600 id_rsa(修改該私鑰文件權(quán)限)

祈歡 回答

^

匹配輸入字符串的開始位置。如果設(shè)置了RegExp對象的Multiline屬性,^也匹配“\n”或“\r”之后的位置。

(?!pattern)

正向否定預(yù)查,在任何不匹配pattern的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。
傲嬌范 回答

http服務(wù)不能訪問,而ping命令可以說明網(wǎng)絡(luò)是通的


ping不同說明禁止了這個操作

赱丅呿 回答

稍優(yōu)化了一點,按你的算法,有n個元素的數(shù)組,要循環(huán)

n * n * in_array里的次數(shù),in_array內(nèi)部也是循環(huán)
var arr = [1, 2, 5, 6, 7];//如果這個數(shù)組不是有序數(shù)組,哪還要先加排序
var len =arr.length

let result=[]
let count=0

for(let a=0;a<len;a++){
let max = arr.pop()
let newlen = arr.length
for(let i=0;i<newlen-1;i++){
   if(arr[i]+arr[i+1]> max){
    break;
  }
  for(let j=i;j<newlen-1;j++){
    let plus = arr[i]+arr[j+1]
    count++
    if(plus>max){
      break;
    }
    if(plus==max){
      result.push([max,arr[i],arr[j+1]])
    }
  }
}
}
console.log(result)//輸出結(jié)果
console.log(count)//輸出總循環(huán)次數(shù),

回復(fù)里說的好,我沒有考慮負數(shù)的情況,如果要考慮負數(shù),哪把最大數(shù)pop出來,就不行了,只能重新維護一條新數(shù)組,用來枚舉所有值,修改如下

var arr = [-8, -1, 1, 2, 5, 6, 7];//如果這個數(shù)組不是有序數(shù)組,哪還要先加排序
var len =arr.length
var arr1 = [...arr] //復(fù)制一條新數(shù)組
let result=[]
let count=0

for(let a=0;a<len;a++){
let max = arr1.pop()// 從新數(shù)組中枚舉各個值。
let newlen = arr.length
for(let i=0;i<newlen-1;i++){
   if(arr[i]+arr[i+1]> max){
    break;
  }
  for(let j=i;j<newlen-1;j++){
    let plus = arr[i]+arr[j+1]
    count++
    if(plus>max){
      break;
    }
    if(plus==max){
      result.push([max,arr[i],arr[j+1]])
    }
  }
}
}
console.log(result)//輸出結(jié)果
console.log(count)//輸出總循環(huán)次數(shù),
輸出
[[7, 1, 6], [7, 2, 5], [6, -1, 7], [6, 1, 5], [5, -1, 6], [1, -1, 2], [-1, -8, 7]]
愛是癌 回答

上面這位大佬的方法很標(biāo)注,很嚴(yán)禁,但不適合小白理解:

首先要明白委托是什么意思:委托并沒有給子元素綁定事件,點擊子元素的時候根據(jù)事件冒泡的原理,觸發(fā)了body上綁定的事件,這個方法是能獲取到點擊的子元素的事件對象的,這個比較簡單;
難點其實是另一個問題,子元素dom結(jié)構(gòu)通常不止1層,那么如何讓事件對象是我們想要那個,一般要的是子元素最外層的元素,下面一個栗子可以告訴你怎么獲取你想要的父節(jié)點的事件對象:

var a=document.getElementById('content_left');//以百度搜索結(jié)果列表為例
a.onclick = function(ev){//這個ev是你點擊的那個子元素的子元素
            var ev = ev || window.event;
            var target = ev.target || ev.srcElement;
        while(target!=a){//在非父節(jié)點中尋找最外層dom
            console.log(target.className)
                        if(target.className == 'c-abstract'){//c-abstract是我想要的每一項列表的最外層
                            target.style.background = "#eee";
                break;
                    }
        target=target.parentNode;//通過while,逐級尋找父節(jié)點
     }
};
祈歡 回答

看了一下,原因有兩點:

  • 窮舉法的復(fù)雜度較高,約為O(8^(N*N)),也就是說,8*8的棋盤復(fù)雜度為O(8^64),這是一個天文數(shù)字
  • 復(fù)雜度只是一方面,并不能代表最終的計算時間。之所以5、6、7的時候使用的時間較少,是因為它們在較少的嘗試次數(shù)下就可以找到答案了。所以耗費的時間并不多。而8*8的時候卻比較不幸,嘗試了很多次都不能成功,導(dǎo)致運行很久都找不到答案。

舉個例子,即使是100 * 100的棋盤,如果恰好每一步都選擇的是正確的跳法,那么也只需要10000步即可算出答案(假設(shè)答案是存在的)。但假如運氣不好,前面的選擇都錯了,導(dǎo)致程序需要不斷重試,那么即使是5*5的棋盤,也需要大約8^25步才能找到答案!

而窮舉法并不會去判斷并選擇最有可能的跳法去嘗試,它只是無腦地按照順序一次次嘗試,所以找到答案所消耗的時間完全是憑運氣。當(dāng)N=5、6、7的時候運氣較好,而N=8的時候運氣卻比較差。

原理部分就分析到這里,下面來談?wù)剝?yōu)化。

雖然窮舉法解出N=8比較困難,但是并不是說你的程序沒有問題。我發(fā)現(xiàn)了幾點問題可以改進dfs方法(可以從5、6、7的計算時間看出改進效果,但N=8的時候仍然無能為力)

    // dr和dc放到方法外面定義,這樣每次遞歸的時候不用單獨創(chuàng)建一遍數(shù)組
    final int[] dr = {2, 2, -2, -2, 1, 1, -1, -1};
    final int[] dc = {1, -1, 1, -1, 2, -2, 2, -2};

    // 修改dfs方法的參數(shù),增加count和total,目的是消除check方法。
    // count表示當(dāng)前進行到第幾步了,total是總步數(shù),如果count=total,就表示棋盤已經(jīng)遍歷完了
    private boolean dfs(int[][] board, int sr, int sc, List<String> res, int count, int total) {
        if (/*check(board)*/count == total) {
            for (int i = 0; i < board.length; i++) {
                res.add(Arrays.toString(board[i]));
            }
            return true;
        }

        for (int i = 0; i < 8; i++) {
        // 去掉棋盤的copy,只使用原棋盤數(shù)組即可
//            int[][] newBoard = deepthCopy(board);
            int cr = sr + dr[i];
            int cc = sc + dc[i];
            if (cr >= 0 && cr < board.length && cc >= 0 && cc < board.length && board[cr][cc] == 0) {
//                newBoard[cr][cc] = newBoard[sr][sc] + 1;
                // 每次遞歸前給下一步要嘗試的格子賦值,但如果沒找到答案,再把那個格子清空。這樣就可以實現(xiàn)無需借助棋盤拷貝也可以完成遞歸
                board[cr][cc] = count + 1;
                if (dfs(board, cr, cc, res, count + 1, total)) {
                    return true;
                } else {
                    board[cr][cc] = 0;
                }
            }
        }

        return false;
    }

調(diào)用的時候改為:

dfs(board, sr, sc, res, 1, N * N);
離魂曲 回答

去掉final修飾符,使用 T newInstance(Object... initargs) 得到對象實例。

      使用此 Constructor 對象表示的構(gòu)造方法來創(chuàng)建該構(gòu)造方法的聲明類的新實例,并用指定的初始化參數(shù)初始化該實例。 
嫑吢丕 回答

你需要自己通過下面的命令生成一套密鑰,包括公鑰和私鑰

ssh-keygen -t rsa -C "your email"

然后把公鑰復(fù)制到git 倉庫的SSH KEY 的設(shè)置當(dāng)中。

使用SSH其實是加密通信,省去了每次輸入賬號密碼的麻煩。每次通信時會拿線上的公鑰和本地的私鑰做校驗

互擼娃 回答

項目里還有些線程未關(guān)閉。
至于怎么解決得看報什么錯,我之前遇到的問題是因為ehcache有線程占用了磁盤,將overflowToDisk配置成"false"就Ok了。
這個倒是不影響使用,正式服務(wù)器不要用shutdown.sh,要直接kill掉進程

維他命 回答

既然exec,又想要ps -ef, 為何不exec("ps -ef")

public static void main(String[] args) throws Exception {

     try {
       String line;
       Process p = Runtime.getRuntime().exec( "ps -ef" );

       BufferedReader in = new BufferedReader(
               new InputStreamReader(p.getInputStream()) );
       while ((line = in.readLine()) != null) {
         System.out.println(line);
       }
       in.close();
     }
     catch (Exception e) {
       // ...
     }
}
別逞強 回答

dump是一次內(nèi)存快照,相當(dāng)于一張照片

sampler基于特定時間間隔的多次采樣,相當(dāng)于小視頻

近義詞 回答

我理解你是想查出菜品所有對應(yīng)的菜品類型

select *
from 菜品 a left join 菜品類型 b on find_in_set(b.dishtypeid, a.dishtype) > 0
伐木累 回答

我們是這么做的:因為比較特殊,網(wǎng)站需要針對app用戶和內(nèi)網(wǎng)用戶,內(nèi)網(wǎng)用戶只能通過vpn撥號到內(nèi)網(wǎng)網(wǎng)段才能訪問,而app用戶公網(wǎng)訪問。那么只能保存為第二種相對路徑,然后獲取圖片路徑的時候,根據(jù)用戶ip判斷應(yīng)該使用哪個配置,就是在相對路徑前面加上前綴,app用戶使用域名配置,內(nèi)網(wǎng)用戶使用內(nèi)網(wǎng)配置??傮w上來說,后面一種靈活性和擴展性更高,比較推薦,

拮據(jù) 回答

建議把獲取openid的方法封裝成一個函數(shù),在這個函數(shù)里,判斷storage里面是否有openid,有的話直接去storage里面的openid,沒有的話,發(fā)起請求,獲得openid,并且存儲到storage里面。目前來來說小程序多頁面通信貌似沒有很靠譜的方法

挽歌 回答

一直看你在強調(diào)業(yè)務(wù)邏輯,自己怎么方便怎么來才是最重要的,沒必要嚴(yán)格遵守那些規(guī)范.

下墜 回答

好像關(guān)閉端口占用,是要關(guān)閉占用端口的系統(tǒng)進程吧
你要先去查是哪個進程占用了該端口,然后在kill進程

其實你第一次運行完了關(guān)閉程序就可以了哇,何必搞的這么麻煩

安淺陌 回答

我是寫 Java 的,那么如果要用不那么 OO 的方式(我們一般喜歡用日志 slf4j 之類的),那么我會用下面兩種思路:

public static void printTimes(Object obj, int times) {
    String content = obj.toString();
    // 通過新建一個異常來獲取調(diào)用棧信息,不拋出即可。
    String where = new Exception().getStackTrace()[1].getClassName();
    // 后續(xù)省略
}

public interface Printer {

    // 此法需要 Java 8
    // 聲明默認方法,想要為某個類加上按次數(shù)打印功能時就 implements Printer
    default void printTimes(Object obj, int times) {
        String where = this.getClass().getSimpleName();
        // 后續(xù)省略
    }

}

事實上新建異常來獲取調(diào)用棧信息可以拿到非常完整的執(zhí)行環(huán)境信息:

所處類 | 所處方法 | 所在文件名稱 | 所在文件行數(shù)

歡迎討論。

傲嬌范 回答

500 是服務(wù)器的問題,你換個 jq 的 cdn 吧,看起來像是 jq 的服務(wù)器問題