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

0%

Algorithm

35. 搜索插入位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public int searchInsert(int[] nums, int target) {
if (nums == null) {
return 0;
}

for (int i = 0; i < nums.length; i++) {
if (target <= nums[i]) {
return i;
}
}

return nums.length;
}
}

执行用时: 0ms, 内存消耗: 38.5MB.

阅读全文 »

Algorithm

27. 移除元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public int removeElement(int[] nums, int val) {
if (nums == null) {
return 0;
}

int insertIndex = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] != val) {
nums[insertIndex] = nums[i];
insertIndex++;
}
}

return insertIndex;
}
}

执行用时: 0ms, 内存消耗: 35.3MB.

阅读全文 »

前言

如果你看不懂标题, 那么恭喜你, 没有遇到这个心烦的问题.

Linux 下使用 wine 微信有一定概率会出现烦人的黑色色块, 看它不爽, 却又无可奈何, 极大地影响了用户体验. 刚好在 github 看到了一个解决方案, 整理记录至此.

环境

编辑本文时笔者电脑的环境是:

  • Ubuntu 19.10
  • deepin-wine-ubuntu 2018-12-ubuntu3
  • deepin-wine-wechat

其他环境请自行举一反三.

阅读全文 »

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 的传奇经历, 文中有段话我觉得十分优秀:

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

阅读全文 »

前言

Hexo + Github Pages 本是绝顶搭配, 无奈最近国内访问速度越来越慢, 实在不忍直视.

虽说国内也有 Gitee.com 和 Coding.net 提供类似服务, 但都不完全免费, 甚至还有广告, 不在考虑范围之内.

最终只好忍痛买了个云主机, 开启博客搬迁之旅.

阅读全文 »

Algorithm

整数反转

题解:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public int reverse(int x) {
int result = 0;
int temp;
while (x != 0) {
temp = x % 10;

if (result > Integer.MAX_VALUE / 10 || (result == Integer.MAX_VALUE / 10 && Integer.MAX_VALUE - result < temp)) {
return 0;
}

if (result < Integer.MIN_VALUE / 10 || (result == Integer.MIN_VALUE / 10 && Integer.MIN_VALUE - result > temp)) {
return 0;
}

result *= 10;
result += temp;

x = x / 10;
}

return result;
}
}

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

阅读全文 »