归档 2016

Java实现数组洗牌算法

数组洗牌是指将一个数组中的元素顺序打乱,随机重新排列。

算法实现思路如下:

按照下标从大到小的顺序遍历数组,记下标为i

遍历时生成范围[0, i]的随机数j,交换下标i与下标j的数组元素

参考:java.util.Collections类中的shuffle方法

Java代码:

public static void shuffle(int[] nums) {
    Random rnd = new Random();
    for (int i = nums.length - 1; i > 0; i--) {
        int j ...

继续阅读

Eclipse正则表达式查找匹配多行

使用Eclipse的正则表达式(Regular expressions)查找替换(Find/Replace)功能时,如果需要匹配多行,可以在搜索表达式中添加(?s)参数。

例如从下面的HTML文本中匹配<p class="strong"></p>的段落内容

可以采用正则表达式:(?s)<p class="strong">.*?</p>

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
    <meta charset="utf-8" />
    <style type="text/css ...

继续阅读

每月存档

去年

明年