首先找到 LeetCode 202 题

「快乐数」定义为:

对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
如果 可以变为  1,那么这个数就是快乐数。 如果 n 是快乐数就返回 true ;不是,则返回 false 。

简单抽象一下:因为每一次计算都唯一指向下一个结果,所以这是一个类似链表的结构。

又因为不是”快乐数“会出现无限循环,所以这个判断”快乐数“就变成了判断”链表是否有环“。

简单用快慢指针判断,如果有环,慢指针一定会追上快指针。

然后一个循环求和就完事了。

// 字符串转字符数组
function nta(n) {
  return n.toString().split("");
}

// 数字每一位的平方和(链表下一位)
function next(n) {
  let src = 0;
  nta(n).map((i) => {
    src = src + i * i;
  });
  return src;
}

// 判断是否是快乐数(是否有环)
const isHappy = function (n) {
  let m = next(n);
  let k = next(m);
  while (k !== m && m !== 1) {
    m = next(m);
    k = next(next(k));
  }
  return m === 1;
};

// 然后一个循环求和就完事了
let res = 0;
for (let i = 1; i <= 100000; i++) {
  if (isHappy(i)) {
    res = res + i;
  }
}
console.log(res);

早上一个uni-app cli项目npm install报错,定位到node-sass

一开始以为是node-gyp的错,因为报错信息有一句Try to update node-gyp,但是仔细一看是一个叫win32-x64-88_binding.node的包404了。

然后去https://github.com/sass/node-sass/releases/tag/v5.0.0看发现支持node15的版本还在Pre-release状态。

npm i node-sass@5.0.0 //失败 不存在这个版本

弃坑 改用dart-sass

npm rm node-sass -D
npm i sass -D

项目根目录新建vue.config.js,修改loader。

module.exports = {
    css: {
        loaderOptions: {
            sass: {
                implementation: require("sass") // This line must in sass option
            }
        }
    }
};

之后就一切正常了。
完结撒花.jpg

最近发现自己对这块很不了解,然后找到一篇不错的文章。

文中总结了一个表格便于速查,直接 copy。

更多内容请 阅读原文
转载请注明出处:http://www.bewindoweb.com/224.html | 三颗豆子
分享许可方式:知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
许可协议  许可 限制条件  其他 
 None 不允许任何操作  -  -
 GNU GPLv3

个人使用

商业使用

专利授权

复制分发

修改

必须开源
保留版权信息
声明变更
不允许更换协议
作者免责
 MIT License 个人使用
商业使用
复制分发
修改
保留版权信息 作者免责
 Apache License 2.0

个人使用

商业使用

专利授权

复制分发

修改

保留版权信息
声明变更
不允许使用商标  
作者免责
 BSD 2-Clause 个人使用
商业使用
复制分发
修改
保留版权信息 作者免责
 BSD 3-Clause 个人使用
商业使用
复制分发
修改
保留版权信息
作者信息不允许用于推销
作者免责
 Eclipse Public License 2.0 个人使用

商业使用

专利授权

复制分发

修改

必须开源
保留版权信息
不允许更换协议
作者免责
 GNU AGPLv3 个人使用

商业使用

专利授权

复制分发

修改

必须开源
保留版权信息
声明变更
不允许更换协议
网络服务需公开完整源码
作者免责
 GNU GPLv2 个人使用

商业使用

复制分发

修改

必须开源
保留版权信息
声明变更
不允许更换协议
作者免责
 GNU LGPLv2.1 个人使用

商业使用

复制分发

修改

必须开源
保留版权信息
声明变更
不允许更换协议(衍生库)
作者免责
 GNU LGPLv3 个人使用

商业使用

专利授权

复制分发

修改

必须开源
保留版权信息
声明变更
不允许更换协议(衍生库)  
作者免责
 Mozilla Public License 2.0 个人使用

商业使用

专利授权

复制分发

修改

必须开源
保留版权信息
声明变更
不允许更换协议(文件)
作者免责
 The Unlicense 个人使用

商业使用

复制分发

修改

 - 作者免责

开启HTTP2

很久之前HTTP2刚出来的时候就打算开HTTP2,后来Safari测试不兼容就关了。
再后来因为太懒一直没动。
今天看到HTTP3都开始打酱油了,好的我这就开HTTP2。

近期博客的维护记录:

我一直以为typecho不更新了,然后忽然发现GitHub一直有commit,所以就折腾了一下。

  • 将Apache改为我现在比较熟悉的Nginx
  • 将typecho更新到GitHub的master分支
  • 将PHP版本升级到7.2
  • 将typecho的数据库连接方式改为PDO_MYSQL
  • 关闭CDN的302调度
  • 关闭CDN的重定向跟随
  • 更改CDN的缓存规则,跳过后台地址。
    以及上面说的
  • 开启HTTP2

新项目 StartPages

GitHub地址

对了最近开了个坑,打算给自己写个网址导航。在公司一直在做微信小程序,空余时间回归正常Web开发换换脑子。主要以下目的

  • 熟悉VUE
  • 尝试indexedDB
  • 换脑子

好久没看自己的博客,前几天证书到期今天想起来就续签了一下。

顺便改了下关于友链icon显示的陈年老bug,然后看了一下我的友链。
果然每次看都有几个打不开了。

以下是我今天删除的友链:

如果您的站点恢复正常,请联系我添加