主頁 >  其他 > 【筆試實戰】LeetCode題單刷題-編程基礎 0 到 1【三】

【筆試實戰】LeetCode題單刷題-編程基礎 0 到 1【三】

2023-07-06 08:31:02 其他

682. 棒球比賽

題目鏈接

682. 棒球比賽

題目描述

你現在是一場采用特殊賽制棒球比賽的記錄員,這場比賽由若干回合組成,過去幾回合的得分可能會影響以后幾回合的得分,

比賽開始時,記錄是空白的,你會得到一個記錄操作的字串串列 ops,其中 ops[i] 是你需要記錄的第 i 項操作,ops 遵循下述規則:

  1. 整數 x - 表示本回合新獲得分數 x
  2. "+" - 表示本回合新獲得的得分是前兩次得分的總和,題目資料保證記錄此操作時前面總是存在兩個有效的分數,
  3. "D" - 表示本回合新獲得的得分是前一次得分的兩倍,題目資料保證記錄此操作時前面總是存在一個有效的分數,
  4. "C" - 表示前一次得分無效,將其從記錄中移除,題目資料保證記錄此操作時前面總是存在一個有效的分數,

請你回傳記錄中所有得分的總和,

 

示例 1:

輸入:ops = ["5","2","C","D","+"]
輸出:30
解釋:
"5" - 記錄加 5 ,記錄現在是 [5]
"2" - 記錄加 2 ,記錄現在是 [5, 2]
"C" - 使前一次得分的記錄無效并將其移除,記錄現在是 [5].
"D" - 記錄加 2 * 5 = 10 ,記錄現在是 [5, 10].
"+" - 記錄加 5 + 10 = 15 ,記錄現在是 [5, 10, 15].
所有得分的總和 5 + 10 + 15 = 30

示例 2:

輸入:ops = ["5","-2","4","C","D","9","+","+"]
輸出:27
解釋:
"5" - 記錄加 5 ,記錄現在是 [5]
"-2" - 記錄加 -2 ,記錄現在是 [5, -2]
"4" - 記錄加 4 ,記錄現在是 [5, -2, 4]
"C" - 使前一次得分的記錄無效并將其移除,記錄現在是 [5, -2]
"D" - 記錄加 2 * -2 = -4 ,記錄現在是 [5, -2, -4]
"9" - 記錄加 9 ,記錄現在是 [5, -2, -4, 9]
"+" - 記錄加 -4 + 9 = 5 ,記錄現在是 [5, -2, -4, 9, 5]
"+" - 記錄加 9 + 5 = 14 ,記錄現在是 [5, -2, -4, 9, 5, 14]
所有得分的總和 5 + -2 + -4 + 9 + 5 + 14 = 27

示例 3:

輸入:ops = ["1"]
輸出:1

 

提示:

  • 1 <= ops.length <= 1000
  • ops[i] 為 "C""D""+",或者一個表示整數的字串,整數范圍是 [-3 * 104, 3 * 104]
  • 對于 "+" 操作,題目資料保證記錄此操作時前面總是存在兩個有效的分數
  • 對于 "C" 和 "D" 操作,題目資料保證記錄此操作時前面總是存在一個有效的分數

解答思路一【Java】

時間2 ms 擊敗 84.55%

記憶體39.7 MB 擊敗 34.74%

典型的模擬題,這道題沒啥特別的,跟著題目給的思路走就可以了

  1. 首先創建一個堆疊(Stack)用于存盤得分,
  2. 遍歷操作陣列中的每個操作,
  3. 對于每個操作,
    • 如果是"+"操作,將堆疊頂元素彈出,與新的堆疊頂元素相加后再將原來的堆疊頂元素重新入堆疊,
    • 如果是"D"操作,將堆疊頂元素乘以2后入堆疊,
    • 如果是"C"操作,將堆疊頂元素彈出,
    • 如果是數字操作,將該操作轉換為整數后入堆疊,
  4. 遍歷完操作陣列后,將堆疊中剩余的元素彈出并累加得分,
  5. 回傳得分結果,
import java.util.Stack;

class Solution {
    public int calPoints(String[] operations) {
        Stack<Integer> stack = new Stack<>();
        for (String op : operations) {
            if (op.equals("+")) {
                int top = stack.pop();
                int newTop = top + stack.peek();
                stack.push(top);
                stack.push(newTop);
            } else if (op.equals("D")) {
                stack.push(stack.peek() * 2);
            } else if (op.equals("C")) {
                stack.pop();
            } else {
                stack.push(Integer.parseInt(op));
            }
        }
        
        int sum = 0;
        while (!stack.isEmpty()) {
            sum += stack.pop();
        }
        
        return sum;
    }
}

這段代碼涉及的知識點包括:

  1. 堆疊(Stack):用于存盤得分的資料結構,
  2. 字串操作:通過判斷操作字串的內容來執行相應的操作,
  3. 型別轉換:將字串轉換為整數型別,
  4. 回圈結構:通過回圈遍歷操作陣列和堆疊的元素,
  5. 條件判斷:通過條件判斷陳述句來判斷操作的型別,并執行相應的操作,

657. 機器人能否回傳原點

題目鏈接

657. 機器人能否回傳原點

題目描述

在二維平面上,有一個機器人從原點 (0, 0) 開始,給出它的移動順序,判斷這個機器人在完成移動后是否在 (0, 0) 處結束

移動順序由字串 moves 表示,字符 move[i] 表示其第 i 次移動,機器人的有效動作有 R(右),L(左),U(上)和 D(下),

如果機器人在完成所有動作后回傳原點,則回傳 true,否則,回傳 false

注意:機器人“面朝”的方向無關緊要, “R” 將始終使機器人向右移動一次,“L” 將始終向左移動等,此外,假設每次移動機器人的移動幅度相同,

 

示例 1:

輸入: moves = "UD"
輸出: true
解釋:機器人向上移動一次,然后向下移動一次,所有動作都具有相同的幅度,因此它最侄訓到它開始的原點,因此,我們回傳 true,

示例 2:

輸入: moves = "LL"
輸出: false
解釋:機器人向左移動兩次,它最終位于原點的左側,距原點有兩次 “移動” 的距離,我們回傳 false,因為它在移動結束時沒有回傳原點,

解答思路一【Java】

時間4 ms 擊敗 95.89%

記憶體42.4 MB 擊敗 43.39%

  1. 首先定義兩個變數x和y,用于記錄橫向和縱向移動的次數,初始值都為0,
  2. 遍歷移動操作字串中的每個字符,
  3. 對于每個移動操作字符,
    • 如果是'R',表示向右移動,則將x加1,
    • 如果是'L',表示向左移動,則將x減1,
    • 如果是'U',表示向上移動,則將y加1,
    • 如果是'D',表示向下移動,則將y減1,
  4. 遍歷完移動操作字串后,判斷x和y是否都為0,
    • 如果都為0,表示移動操作會回到原點,回傳true,
    • 如果有任何一個不為0,表示移動操作不會回到原點,回傳false,
class Solution {
    public boolean judgeCircle(String moves) {
        int x = 0; // 橫向移動次數
        int y = 0; // 縱向移動次數
        for (char move : moves.toCharArray()) {
            if (move == 'R') {
                x++;
            } else if (move == 'L') {
                x--;
            } else if (move == 'U') {
                y++;
            } else if (move == 'D') {
                y--;
            }
        }
        return x == 0 && y == 0;
    }
}

這段代碼涉及的知識點包括:

  1. 字串操作:遍歷移動操作字串中的每個字符,
  2. 回圈結構:通過回圈遍歷移動操作字串的每個字符,
  3. 條件判斷:通過條件判斷陳述句判斷移動操作的型別,并執行相應的操作,
  4. 變數的增減操作:根據移動操作的型別,對變數進行累加或累減操作,
  5. 回傳結果:根據最后計算出的x和y的值,判斷移動操作是否會回到原點,并回傳相應的結果,

1275. 找出井字棋的獲勝者

題目鏈接

1275. 找出井字棋的獲勝者

題目描述

A 和 B 在一個 3 x 3 的網格上玩井字棋,

井字棋游戲的規則如下:

  • 玩家輪流將棋子放在空方格 (" ") 上,
  • 第一個玩家 A 總是用 "X" 作為棋子,而第二個玩家 B 總是用 "O" 作為棋子,
  • "X" 和 "O" 只能放在空方格中,而不能放在已經被占用的方格上,
  • 只要有 3 個相同的(非空)棋子排成一條直線(行、列、對角線)時,游戲結束,
  • 如果所有方塊都放滿棋子(不為空),游戲也會結束,
  • 游戲結束后,棋子無法再進行任何移動,

給你一個陣列 moves,其中每個元素是大小為 2 的另一個陣列(元素分別對應網格的行和列),它按照 A 和 B 的行動順序(先 A 后 B)記錄了兩人各自的棋子位置,

如果游戲存在獲勝者(A 或 B),就回傳該游戲的獲勝者;如果游戲以平局結束,則回傳 "Draw";如果仍會有行動(游戲未結束),則回傳 "Pending",

你可以假設 moves 都 有效(遵循井字棋規則),網格最初是空的,A 將先行動,

 

示例 1:

輸入:moves = [[0,0],[2,0],[1,1],[2,1],[2,2]]
輸出:"A"
解釋:"A" 獲勝,他總是先走,
"X  "    "X  "    "X  "    "X  "    "X  "
"   " -> "   " -> " X " -> " X " -> " X "
"   "    "O  "    "O  "    "OO "    "OOX"

示例 2:

輸入:moves = [[0,0],[1,1],[0,1],[0,2],[1,0],[2,0]]
輸出:"B"
解釋:"B" 獲勝,
"X  "    "X  "    "XX "    "XXO"    "XXO"    "XXO"
"   " -> " O " -> " O " -> " O " -> "XO " -> "XO " 
"   "    "   "    "   "    "   "    "   "    "O  "

示例 3:

輸入:moves = [[0,0],[1,1],[2,0],[1,0],[1,2],[2,1],[0,1],[0,2],[2,2]]
輸出:"Draw"
輸出:由于沒有辦法再行動,游戲以平局結束,
"XXO"
"OOX"
"XOX"

示例 4:

輸入:moves = [[0,0],[1,1]]
輸出:"Pending"
解釋:游戲還沒有結束,
"X  "
" O "
"   "

 

提示:

  • 1 <= moves.length <= 9
  • moves[i].length == 2
  • 0 <= moves[i][j] <= 2
  • moves 里沒有重復的元素,
  • moves 遵循井字棋的規則,

解答思路一【Java】

時間0 ms 擊敗 100%

記憶體39.3 MB 擊敗 12.26%

  1. 首先創建一個3x3的二維陣列grid,用于表示井字棋的網格,
  2. 創建一個變數player,用于表示當前玩家的ID,初始值為1,表示玩家A,
  3. 遍歷moves陣列中的每個落子操作,
  4. 對于每個落子操作,提取出行號和列號,并將對應位置的二維陣列中的元素更新為當前玩家的ID,然后切換到下一個玩家,
  5. 遍歷檢查行和列的勝利情況:
    • 如果某一行或某一列的格子中的元素都相同且不為0,則表示有玩家獲勝,根據該格子中的元素判斷獲勝的玩家是A還是B,
  6. 檢查對角線的勝利情況:
    • 如果兩條對角線上的格子中的元素都相同且不為0,則表示有玩家獲勝,根據該格子中的元素判斷獲勝的玩家是A還是B,
  7. 檢查是否還有空方格:
    • 如果所有格子都不為0,表示棋盤已經填滿,但沒有玩家獲勝,回傳"Draw"表示平局,
  8. 如果以上條件都不滿足,則回傳"Pending"表示棋局還未結束,
class Solution {
    public String tictactoe(int[][] moves) {
        int[][] grid = new int[3][3]; // 二維陣串列示井字棋網格
        int player = 1; // 玩家ID,1表示A, -1表示B
        for (int[] move : moves) {
            int row = move[0]; // 當前落子的行號
            int col = move[1]; // 當前落子的列號
            grid[row][col] = player; // 更新網格
            player = -player; // 切換玩家
        }
        
        // 檢查行和列
        for (int i = 0; i < 3; i++) {
            if (grid[i][0] != 0 && grid[i][0] == grid[i][1] && grid[i][0] == grid[i][2]) {
                return grid[i][0] == 1 ? "A" : "B";
            }
            if (grid[0][i] != 0 && grid[0][i] == grid[1][i] && grid[0][i] == grid[2][i]) {
                return grid[0][i] == 1 ? "A" : "B";
            }
        }
        
        // 檢查對角線
        if (grid[0][0] != 0 && grid[0][0] == grid[1][1] && grid[0][0] == grid[2][2]) {
            return grid[0][0] == 1 ? "A" : "B";
        }
        if (grid[0][2] != 0 && grid[0][2] == grid[1][1] && grid[0][2] == grid[2][0]) {
            return grid[0][2] == 1 ? "A" : "B";
        }
        
        // 檢查是否有空方格
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                if (grid[i][j] == 0) {
                    return "Pending";
                }
            }
        }
        
        // 沒有獲勝者且無空方格,平局
        return "Draw";
    }
}

這段代碼涉及的知識點包括:

  1. 二維陣列:用于表示井字棋的網格,
  2. 回圈結構:通過回圈遍歷落子操作陣列和網格中的元素,
  3. 條件判斷:通過條件判斷陳述句判斷勝利的情況和平局的情況,
  4. 陣列的索引和賦值:通過索引獲取到二維陣列中的元素,并對元素進行賦值,
  5. 變數的切換和使用:通過player變數切換玩家,并根據當前玩家的ID進行操作,
  6. 回傳結果:根據檢查的結果,回傳相應的勝負結果或平局結果,

1041. 困于環中的機器人

題目鏈接

1041. 困于環中的機器人

題目描述

在無限的平面上,機器人最初位于 (0, 0) 處,面朝北方,注意:

  • 北方向 是y軸的正方向,
  • 南方向 是y軸的負方向,
  • 東方向 是x軸的正方向,
  • 西方向 是x軸的負方向,

機器人可以接受下列三條指令之一:

  • "G":直走 1 個單位
  • "L":左轉 90 度
  • "R":右轉 90 度

機器人按順序執行指令 instructions,并一直重復它們,

只有在平面中存在環使得機器人永遠無法離開時,回傳 true,否則,回傳 false

 

示例 1:

輸入:instructions = "GGLLGG"
輸出:true
解釋:機器人最初在(0,0)處,面向北方,
“G”:移動一步,位置:(0,1)方向:北,
“G”:移動一步,位置:(0,2).方向:北,
“L”:逆時針旋轉90度,位置:(0,2).方向:西,
“L”:逆時針旋轉90度,位置:(0,2)方向:南,
“G”:移動一步,位置:(0,1)方向:南,
“G”:移動一步,位置:(0,0)方向:南,
重復指令,機器人進入回圈:(0,0)——>(0,1)——>(0,2)——>(0,1)——>(0,0),
在此基礎上,我們回傳true,

示例 2:

輸入:instructions = "GG"
輸出:false
解釋:機器人最初在(0,0)處,面向北方,
“G”:移動一步,位置:(0,1)方向:北,
“G”:移動一步,位置:(0,2).方向:北,
重復這些指示,繼續朝北前進,不會進入回圈,
在此基礎上,回傳false,

示例 3:

輸入:instructions = "GL"
輸出:true
解釋:機器人最初在(0,0)處,面向北方,
“G”:移動一步,位置:(0,1)方向:北,
“L”:逆時針旋轉90度,位置:(0,1).方向:西,
“G”:移動一步,位置:(- 1,1)方向:西,
“L”:逆時針旋轉90度,位置:(- 1,1)方向:南,
“G”:移動一步,位置:(- 1,0)方向:南,
“L”:逆時針旋轉90度,位置:(- 1,0)方向:東方,
“G”:移動一步,位置:(0,0)方向:東方,
“L”:逆時針旋轉90度,位置:(0,0)方向:北,
重復指令,機器人進入回圈:(0,0)——>(0,1)——>(- 1,1)——>(- 1,0)——>(0,0),
在此基礎上,我們回傳true,

 

提示:

  • 1 <= instructions.length <= 100
  • instructions[i] 僅包含 'G', 'L', 'R'

解答思路一【Java】

時間0 ms 擊敗 100%

記憶體39.2 MB 擊敗 95.21%

這道題只要判斷機器人走完一圈會不會回到原地就行了

  1. 首先創建變數x和y,用于表示機器人的橫縱坐標位置,初始值都為0,
  2. 創建變數direction,用于表示機器人的方向,初始值為0,表示朝北方向,
  3. 遍歷指令字串中的每個字符,
  4. 對于每個字符,
    • 如果是'G',根據當前的方向向對應的坐標軸方向移動一步,
    • 如果是'L',將方向逆時針旋轉90度,
    • 如果是'R',將方向順時針旋轉90度,
  5. 判斷機器人的運動結果是否會回傳出發位置,如果滿足以下任意一個條件,回傳true;否則回傳false:
    • 機器人停止后,橫縱坐標都為0;
    • 機器人停止后,方向不再是向北方向,
class Solution {
    public boolean isRobotBounded(String instructions) {
        int x = 0;
        int y = 0;
        int direction = 0; // 0表示北,1表示東,2表示南,3表示西
        
        for (char c : instructions.toCharArray()) {
            if (c == 'G') {
                if (direction == 0) {
                    y++;
                } else if (direction == 1) {
                    x++;
                } else if (direction == 2) {
                    y--;
                } else if (direction == 3) {
                    x--;
                }
            } else if (c == 'L') {
                direction = (direction + 3) % 4; // 逆時針旋轉90度,加3再取余
            } else if (c == 'R') {
                direction = (direction + 1) % 4; // 順時針旋轉90度,加1再取余
            }
        }
        
        return (x == 0 && y == 0) || direction != 0;
    }
}

這段代碼涉及的知識點包括:

  1. 回圈結構:通過回圈遍歷指令字串中的每個字符,
  2. 條件判斷:通過條件判斷陳述句判斷指令字符的型別,并執行相應的操作,
  3. 變數的增減操作:根據當前的方向,增減對應的坐標軸上的值,
  4. 變數的取余操作:通過取余運算實作回圈遞增或遞減,實作方向的旋轉,
  5. 邏輯運算:通過邏輯運算子判斷機器人的運動結果是否回傳出發位置,

1672. 最富有客戶的資產總量

題目鏈接

1672. 最富有客戶的資產總量

題目描述

給你一個 m x n 的整數網格 accounts ,其中 accounts[i][j] 是第 i???????????? 位客戶在第 j 家銀行托管的資產數量,回傳最富有客戶所擁有的 資產總量 ,

客戶的 資產總量 就是他們在各家銀行托管的資產數量之和,最富有客戶就是 資產總量 最大的客戶,

 

示例 1:

輸入:accounts = [[1,2,3],[3,2,1]]
輸出:6
解釋:
第 1 位客戶的資產總量 = 1 + 2 + 3 = 6
第 2 位客戶的資產總量 = 3 + 2 + 1 = 6
兩位客戶都是最富有的,資產總量都是 6 ,所以回傳 6 ,

示例 2:

輸入:accounts = [[1,5],[7,3],[3,5]]
輸出:10
解釋:
第 1 位客戶的資產總量 = 6 第 2 位客戶的資產總量 = 10 第 3 位客戶的資產總量 = 8 第 2 位客戶是最富有的,資產總量是 10

示例 3:

輸入:accounts = [[2,8,7],[7,1,3],[1,9,5]]
輸出:17

提示:

  • m == accounts.length
  • n == accounts[i].length
  • 1 <= m, n <= 50
  • 1 <= accounts[i][j] <= 100

解答思路一【Java】

時間0 ms 擊敗 100%

記憶體40.5 MB 擊敗 88.62%

  1. 遍歷二維陣列accounts,對每個客戶計算其資產總量,即對每個客戶的資產數量求和
  2. 比較每個客戶的資產總量,找到最大值,
  3. 回傳最大值作為最富有客戶的資產總量,
class Solution {
    public int maximumWealth(int[][] accounts) {
        int maxWealth = 0;
        for (int[] customer : accounts) {
            int wealth = 0;
            for (int amount : customer) {
                wealth += amount;
            }
            maxWealth = Math.max(maxWealth, wealth);
        }
        return maxWealth;
    }
}

知識點:
1. 二維陣列的遍歷方式,
2. 陣列的求和,
3. Math類的使用,
4. 變數賦值與比較,

1572. 矩陣對角線元素的和

題目鏈接

1572. 矩陣對角線元素的和

題目描述

給你一個正方形矩陣 mat,請你回傳矩陣對角線元素的和,

請你回傳在矩陣主對角線上的元素和副對角線上且不在主對角線上元素的和,

 

示例  1:

輸入:mat = [[1,2,3],
            [4,5,6],
            [7,8,9]]
輸出:25
解釋:對角線的和為:1 + 5 + 9 + 3 + 7 = 25
請注意,元素 mat[1][1] = 5 只會被計算一次,

示例  2:

輸入:mat = [[1,1,1,1],
            [1,1,1,1],
            [1,1,1,1],
            [1,1,1,1]]
輸出:8

示例 3:

輸入:mat = [[5]]
輸出:5

 

提示:

  • n == mat.length == mat[i].length
  • 1 <= n <= 100
  • 1 <= mat[i][j] <= 100

解答思路一【Java】

時間1 ms 擊敗 25.37%

記憶體42.9 MB 擊敗 13.79%

解題思路:
1. 遍歷正方形矩陣mat的所有元素,
2. 判斷當前元素是否在主對角線上(即行索引和列索引相等)或者副對角線上(即行索引和列索引之和為矩陣長度減一),
3. 根據判斷結果,將對應元素的值加到對角線和上,
4. 回傳對角線和作為結果,

class Solution {
    public int diagonalSum(int[][] mat) {
        int sum = 0;
        int n = mat.length;
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (i == j || i + j == n - 1) {
                    sum += mat[i][j];
                }
            }
        }
        return sum;
    }
}

知識點:
1. 二維陣列的遍歷方式,
2. 陣列索引的使用,
3. 變數的賦值與比較,

工程日志

2023-07-05

  • 簡單的模擬題基本上只要跟著題目給的描述走就可以了,因為步驟簡單,時空復雜度也難不到哪里去
  • 編程基礎 0 到 1的題目整體上偏簡單,更考驗答題者的基本功,因此基礎好就顯得尤其重要
在黑夜里夢想著光,心中覆寫悲傷,在悲傷里忍受孤獨,空守一絲溫暖, 我的淚水是無底深海,對你的愛已無言,相信無盡的力量,那是真愛永在, 我的信仰是無底深海,澎湃著心中火焰,燃燒無盡的力量,那是忠誠永在,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556629.html

標籤:其他

上一篇:nginx訪問日志過濾(多條件)

下一篇:返回列表

標籤雲
其他(162092) Python(38266) JavaScript(25523) Java(18290) C(15238) 區塊鏈(8275) C#(7972) AI(7469) 爪哇(7425) MySQL(7285) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5876) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4611) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2438) ASP.NET(2404) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) HtmlCss(1987) .NET技术(1985) 功能(1967) Web開發(1951) C++(1942) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1882) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 【筆試實戰】LeetCode題單刷題-編程基礎 0 到 1【三】

    博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ......

    uj5u.com 2023-07-06 08:31:02 more
  • nginx訪問日志過濾(多條件)

    nginx的access_log的過濾網上有很多文章。是通過map定義一個變數,然后把那個變數配置到access_log的if即可。 比如: map $status $loggable { ~^[23] 0; default 1; } access_log /path/to/access.log c ......

    uj5u.com 2023-07-06 08:30:40 more
  • 瞬間摳圖!揭秘 ZEGO 綠幕摳圖演算法背后的技術

    摳圖是影像處理中最常見的操作之一,指的是將影像中需要的部分從畫面中精確的提取出來。 摳圖的主要功能是為了后期的合成做準備。在 Photoshop 中,摳圖的方法有很多種,最常見的有通道摳圖、蒙版摳圖、鋼筆工具摳圖和快速選擇工具等。針對視頻的摳圖方法主要是基于keylight 插件對純色背景進行摳圖( ......

    uj5u.com 2023-07-06 08:24:47 more
  • 【后端面經-計算機基礎】HTTP和TCP的區別

    本文主要介紹了計算機網路中的兩個經典協議:http和tcp,簡單介紹兩者的報文結構,并結合面試題對兩者進行詳細說明。 ......

    uj5u.com 2023-07-06 08:16:51 more
  • 技術選型|K歌App中的實時合唱如何進行選型

    在線K歌軟體的開發有許多技術難點,需考慮到音頻錄制和處理、實時音頻傳輸和同步、音頻壓縮和解壓縮、設備兼容性問題等技術難點外,此外,開發者還應關注音樂著作權問題,確保開發的應用合規合法。 ......

    uj5u.com 2023-07-06 08:15:01 more
  • 自動化測驗到底是啥?

    什么是自動化測驗?顧名思義就是以程式測驗程式,自動執行指定動作,實作測驗目的。以代碼實作測驗思維,以腳本替代手工執行。從簡單的獨立功能腳本到依托自動化框架運行的腳本集合都屬于自動化測驗范疇。本文旨在通過討論以下幾個方面,總結自動化測驗價值最大化的經驗。 ......

    uj5u.com 2023-07-05 08:25:31 more
  • k8s 操作命令(合集List)

    ### k8s 操作命令 合集List ### 一、K8S最常用命令如下: 1、獲取pod資訊:kubectl get pod 2、查看指定pod的日志資訊:kubectl logs -f --tail(最后多少行) 500 podName(pod名) 3、查看pod的描述資訊:kubectl de ......

    uj5u.com 2023-07-05 08:25:11 more
  • Nftables堆疊溢位漏洞(CVE-2022-1015)復現

    Nftables 是一個基于內核的包過濾框架,用于 Linux作業系統中的網路安全和防火墻功能。nftables的設計目標是提供一種更簡單、更靈活和更高效的方式來管理網路資料包的流量。 ......

    uj5u.com 2023-07-05 08:24:43 more
  • 分布式事務的幾種實作方式

    ## 基礎理論 ### CAP理論 一致性(Consistency) :在分布式系統中所有的資料備份,在同一時刻都保持一致狀態,如無法保證狀態一致,直接回傳錯誤; 可用性(Availability):在集群中一部分節點故障,也能保證客戶端訪問系統并得到正確回應,允許一定時間內資料狀態不一致; 磁區容 ......

    uj5u.com 2023-07-05 08:23:59 more
  • 把langchain跑起來的3個方法

    使用LangChain開發LLM應用時,需要機器進行GLM部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習LLM模型的應用,對Langchain進行快速上手?本片講解3個把LangChain跑起來的方法,如有錯誤歡迎糾正。 ......

    uj5u.com 2023-07-05 08:23:55 more