Tag: 程序设计

怎么样把Chrome插件Manifest版本2更新到3?

Chrome插件版本v2在今年6月份之后就会被淘汰了,早在四年前(2020年12月份版本88),v3就已经被支持,Google给了超过3年的时候让开发者把v2版本迁移到v3。我一直很懒,手头上几个插件都还是v2,挑选了几个用户比较多的改了一下迁移到v3。 手头上有11个Chrome插件,只有一些已经迁移到了v3。 将 Chrome 扩展程序的 v2 Manifest 转换为 V3 所需的更改 大部分需要的改动都在 manifest.json。 manifest.json 是Chrome插件的配置文件: manifest_version 需要改成3 browser_action 需要重命名为:”action” web_accessible_resources 版本2: "web_accessible_resources": , 版本3: "web_accessible_resources": , "extension_ids": }], background/scripts 版本2: …

随机数独游戏的算法设计 (Sudoku)

给定一个数独(Sudoku), 我们可以使用深度优先搜索算法(DFS), 迭代加深搜索算法(IDS)或广度优先搜索算法(BFS)来寻找可能的解. 反过来, 如果我们要设计一个算法来生成有效的数独, 我们需要澄清以下问题: 生成的数独(Sudoku)必须有可解状态吗? 是的 生成的数独(Sudoku)有多个解吗? 我们可以假设返回的Suduoku只有1个唯一解 生成的数独(Sudoku)的找解难度? 我们可以为此设置一个参数: 简单, 中等或困难 一共有6.671×10^21个有效的数独状态, 如果我们忽略旋转, 镜像状态等重复的状态, 这个数字就降到了5.4×10^9个状态. 我们可以随机生成一个由数字1-9填充的矩阵, 并检查它是否是有效的数独, 但这非常低效, 因为生成的矩阵极有可能不是有效的数独. 设计一个随机数独的算法 为了设计一个有效的算法, 生成一个随机的有效数独, 我们可以采用以下算法: 使用回溯(深度优先搜索)算法来生成一个具有随机性的有效完整数独. 例如, 我们可以随机选择数字, …

Python创建x.509标准密钥代码示例

用苹果公钥创建一个x.509标准的公钥怎么做? 要创建一个X.509标准的公钥, 首先需要获取苹果公钥. 可以从苹果开发者网站上获取苹果公钥, 然后使用OpenSSL工具将其转换为X.509标准的公钥. 具体步骤如下: 从苹果开发者网站上下载苹果公钥, 并将其保存为.pem格式的文件. 使用OpenSSL工具将.pem格式的文件转换为X.509标准的公钥, 命令如下: openssl x509 -in apple.pem -out apple.cer -outform DER 将转换后的X.509标准的公钥保存为.cer格式的文件. Python创建x.509标准密钥代码示例 以下是使用Python创建X.509标准密钥的示例代码: from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import serialization …

通过BASH脚本显示树莓PI的温度和频率

我们很容易可以通过以下BASH脚本来显示当前树莓PI的温度和频率. #pi@raspberrypi:~ $ cat ./cpu_freq.sh #!/bin/bash temp=`head -n 1 /sys/class/thermal/thermal_zone0/temp | xargs -I{} awk "BEGIN {printf \"%.2f\n\", {}/1000}"` echo $((`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq`/1000)) MHz, $temp degrees 然后, 我们可以每3秒来显示这个信息: # 每3秒显示 while …

在竞赛中通过向标准输出stdout打印数据来调试leetcode程序

leetcode 网页的代码编辑器很好用, 有一个远程调试 Debugger 的功能, 只不过这个功能是需要付费才能使用的. 而且这个调试功能在比赛中是无法使用的. 其实我们只需要在代码里向 stdout 打印(变量), 运行代码就能在网页中看到值了 – 这样一来就可以很方便的调试程序了. 当您手边没有IDE时, 这是一种调试代码的好方法-有时我在iPad上参加每周的竞赛, 而我没有IDE, 也无法使用内置的leetcode调试器- 在这种情况下, 打印到标准输出是调试打印变量的唯一实用方法. 在此之前, 我只能更改代码并将变量作为调试技术返回-这种方式效率很低. 英文: Using the stdout to debug print the …

模拟算法解决小时候的疑问: 空瓶子换啤酒问题

记得小时候一直在琢磨的问题, 拿空酒瓶(也有可能是可乐)换酒瓶, 最后面一共可以喝几瓶. 今天在 leetcode 看到了这题, 1518. 这题是简单题, 我们通过模拟就能解决. 需要的定义的变量就是总喝的瓶数, 还有就是当前空瓶数. 只要空瓶子够换新酒瓶, 我们就不停的循环这个过程. 需要注意的是新的空瓶数得把原来不够换的那部分也加上. 比如3个空瓶可以换一个新瓶, 现在有5个空瓶, 只够换1个, 然后新的空瓶就是(5-3+1=3)还够换1瓶. 不啰嗦了, 以下就是 Python代码. class Solution: def numWaterBottles(self, numBottles: int, numExchange: int) …