Seven's blog

你不会找到路,除非你敢于迷路

0%

Algorithm

26. 删除排序数组中的重复项

解法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
public int removeDuplicates(int[] nums) {
if (nums.length <= 1) {
return nums.length;
}

int scanIndex;
int insertIndex = 1;
int compareIndex = 0;
int length = 1;

for (scanIndex = 1; scanIndex < nums.length; scanIndex++) {
if (nums[scanIndex] != nums[compareIndex]) {
nums[insertIndex] = nums[scanIndex];
insertIndex++;
length++;
compareIndex = scanIndex;
}
}

return length;
}
}

执行用时: 1ms, 内存消耗: 41.5MB.

阅读全文 »

Algorithm

1108. IP 地址无效化

  • 解法一:

    直接调用 Java String 的 replaceAll() 方法, 因为该方法内部实现使用了正则匹配, 所以执行效率不高.

    1
    2
    3
    4
    5
    class Solution {
    public String defangIPaddr(String address) {
    return address == null ? null : address.replaceAll("\\.", "[\\.]");
    }
    }

    执行用时: 3ms, 内存消耗: 34.4MB.

    阅读全文 »

前言

在 Ubuntu 下我们经常会使用 Wine 或者 Crossover 运行 Windows 应用程序. 当应用程序切换到后台时, 是无法响应预设的全局快捷键的. 比如”打开微信”的快捷键 ctrl + alt + w 在这种情况下就无法响应.

我们可以借助一个小工具 xdotool 来解决这个问题.

注:

  • 此方法在 Ubuntu 17, 18, 19 全系列测试通过, 其他平台未作测试, 理论通用;
  • 本文以 “打开微信” 快捷键为例, 其他应用以此类推;

方法

1. 安装 xdotool

直接在命令行运行以下命令即可:

1
sudo apt install --no-install-recommends xdotool
阅读全文 »

Algorithm

771. 宝石与石头

  • 解法一:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    class Solution {
    public int numJewelsInStones(String J, String S) {
    int total = 0;
    StringBuffer oldString = new StringBuffer(S), newString = new StringBuffer();
    for (int j = 0; j < J.length(); j++) {
    char current = J.charAt(j);
    for (int s = 0; s < oldString.length(); s++) {
    char stone = oldString.charAt(s);
    if (stone == current) {
    total += 1;
    continue;
    }
    newString.append(stone);
    }
    oldString = new StringBuffer(newString);
    newString = new StringBuffer();
    }

    return total;
    }
    }

    执行用时: 4ms, 内存消耗: 35.7MB.

阅读全文 »

见闻

  • 61岁中国大爷靠“玩”木头火了,网友:简直是宝藏爷爷!

    文章介绍了一位把传统手艺玩成精的木工爷爷. 当擅长和热爱指向一处, 往往能发挥出无穷潜力.

    另, 网络以及自媒体的普及, 确实让真正有才华的人被看见.

  • Java 之父:你至少得会两门语言

    文章介绍了 Java 之父 James Gosling 的传奇经历, 文中有段话我觉得十分优秀:

    你投入到程序中的精力越多,用户使用时遇到麻烦和折腾的精力就会越少,程序员要做的,正是在开发端和用户端之间尽量平衡开发和用户使用的复杂度。

阅读全文 »