事出有因 🏠
最近搬家,顺便买了一台x86软路由,预装了iStoreOS(一个OpenWrt国内的改版)。在GitHub上找到了OpenClash仓库,下载并安装后,设置好了订阅地址和节点,本以为家里的所有设备都可以全自动翻墙🌐。然而,事情并没有这么简单。
实际使用中遇到了不少问题。例如,抖音评论区某些图片加载不出来📵,估计是图片CDN地址被Clash错误识别为国外地址,导致使用了代理访问。还有绝区零云游戏一直加载中🎮,无法登录。
最近搬家,顺便买了一台x86软路由,预装了iStoreOS(一个OpenWrt国内的改版)。在GitHub上找到了OpenClash仓库,下载并安装后,设置好了订阅地址和节点,本以为家里的所有设备都可以全自动翻墙🌐。然而,事情并没有这么简单。
实际使用中遇到了不少问题。例如,抖音评论区某些图片加载不出来📵,估计是图片CDN地址被Clash错误识别为国外地址,导致使用了代理访问。还有绝区零云游戏一直加载中🎮,无法登录。
在访问不熟悉的服务器时,查看当前目录下的文件时,常常会习惯性地输入 ll
命令。然而,在陌生的服务器上,系统常常反馈找不到该命令。每次都需要手动设置 alias ll="ls -l"
,实在麻烦。
可以将该命令写入环境变量,Linux 中通常对应的是 ~/.bashrc
(具体文件根据用户所用的 shell 而异),而 Windows PowerShell 使用的是 $PROFILE
。
使用 vim
或其他喜欢的编辑器打开 ~/.bashrc
:
给定一个整数数组 nums
,返回数组 answer
,其中 answer[i]
等于 nums
中除 nums[i]
之外其余各元素的乘积。
在项目中,客户在操作出库时需要上传或购买面单。当通过自家系统购买时,API会向Fedex、UPS等物流服务商请求面单,返回的单号将与订单绑定,便于后续管理。然而,当客户从其他地方购买面单并下载为图片格式的PDF时,无法直接获取单号。
面单上包含条码信息,通过扫描条码可获取单号、地址等相关信息。
条码干扰信息
面单上可能包含多个条码,直接扫描时获取的字符串会包含大量干扰信息。
解决方案: 在扫描条码前,根据条码位置截取面单条码所在区域,并放大图片,以提高扫描结果的准确性。
条码位置不一致
不同服务的面单条码位置各异。
解决方案: 需针对不同面单条码位置进行判断,逐一排除。Fedex面单相对稳定,条码通常位于面单底部,识别率接近100%。而UPS的不同服务条码位置差异较大,需要进行更多判断。
LeetCode 380 O(1)时间插入、删除和获取随机元素
设计一个 RandomizedSet
类,支持以下操作:
RandomizedSet()
初始化 RandomizedSet
对象。bool insert(int val)
当元素 val
不存在时,向集合中插入该项,并返回 true
;否则,返回 false
。bool remove(int val)
当元素 val
存在时,从集合中移除该项,并返回 true
;否则,返回 false
。int getRandom()
随机返回现有集合中的一项(测试用例保证调用此方法时集合中至少存在一个元素)。每个元素应该有相同的概率被返回。给定一个整数数组 citations
,其中 citations[i]
表示研究者的第 i 篇论文被引用的次数。需要计算并返回该研究者的 h 指数。
给定一个长度为 n
的 0 索引整数数组 nums
。初始位置为 nums[0]
。
每个元素 nums[i]
表示从索引 i
向后跳转的最大长度。换句话说,如果在 nums[i]
处,可以跳转到任意 nums[i + j]
处,条件如下:
给定一个非负整数数组 nums
,最初位于数组的第一个下标。数组中的每个元素代表在该位置可以跳跃的最大长度。
判断是否能够到达最后一个下标。如果可以,返回 true
;否则,返回 false
。
给定一个整数数组 prices
,其中 prices[i]
表示某支股票第 i
天的价格。在每一天,可以决定是否购买和/或出售股票。注意,在任何时候最多只能持有一股股票,也可以选择在同一天买入并出售。