主页

计算平方根的一些方法总结

写在前面 重新熟悉下计算平方根的算法, 当然对于力扣的平方根69. x 的平方根 - 力扣(LeetCode), 已经出现了不下五种的方法了, 这次简要总结下. 代码均为C++. 调包 return (int) sqrt(x); return (int) pow(x, .5); 高级调包 应用了 \(\sqrt x=\exp(\frac{\ln x}2)\) 这一关系, 需要注意浮点数舍入误差. int mySqrt(int x) { if (x == 0) { return 0; } int ans = exp(0.5 * log(x)); return ((long long)(ans + 1) * (ans + 1) ...

阅读更多

C++之什么时候应该使用typename或class

写在前面 对于C++模版元编程, 使用关键字typename还是class显然是不重要的, 除了在模版模版参数中使用类类型一定要用class声明类外, 例如下面这个例子, 为容器给出泛型函数, 虽然这样事实上只针对序列式容器: template <typename T, template <typename> class Container> ostream &operator<<(ostream &os, Container<T> v) { for (auto i : v) os << i << " "; return os << endl; } 在模版中, 一...

阅读更多

通过公网ip访问云服务器mysql的方法

方法 环境: Ubuntu20.04(x86_64) MySQL8.0.31 开端口 addtcp 3306 reufw 并且在阿里云的管理界面开3306端口. 改配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 其中bind-address改为:(要不然只能在本地访问) bind-address = 0.0.0.0 添加数据库配置 # 进入数据库 # mysql -uroot -p # 输入 CREATE USER 'root'@'%' IDENTIFIED BY '<数据库密码>'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'...

阅读更多

Macos下asciiquarium出现.cursesboot.c: loadable library and perl binaries are mismatched (got handshake key 0xfc00080, needed 0xc700080)的问题解决

问题 m1Mac brew 一个终端养鱼程序(Perl):ASCIIQuarium, https://github.com/cmatsuoka/asciiquarium; 在使用brew安装之后报错了: ./CursesBoot.c: loadable library and perl binaries are mismatched (got handshake key 0xfc00080, needed 0xc700080) 然后网上找一圈也没有解决方案, 后来发现重新从源构建就好了: brew reinstall asciiquarium --build-from-source 完美:

阅读更多

寻找缺失数字,出现次数不同数字的题目总结

写在前面 近期看面经, 发现有一类题常出现, 那就是寻找缺失数字, 基于这道题的变式题目也很多, 下面来总结一下. 下面总结的是缺失数字以及出现次数不同于其他数字的两大类题目. 主要用到的知识点: 哈希集合: 需要占用空间, 可以考虑原地哈希, 但是不好想. 排序+二分: 排序操作时间复杂度高. 位运算: 这里主要指异或运算. 数学方法: 找关系联立方程组, 通过求和等方式完成. 特殊解法:(只能针对某道题) 缺失数字类 关于缺失数字, 有下面这几类题型: 已排序, 找0~n-1中缺失的数字.剑指 Offer 53 - II. 0~n-1中缺失的数字 - 力扣(LeetCode). 已排序, 找缺失的第$k$个数字.1539. 第 k 个...

阅读更多

Windows下latex报错error font simsun not found的解决方案

问题与解决 安装字体simsun之后, 在$\LaTeX$文中写: \setCJKmainfont{simsun} 显示没法找到字体, 如果安装之后还是找不到, 大概率是字体名称不对的问题, 通过 fc-list :lang=zh-cn 查找字体, 然后看看字体名称是什么: SimSun 这就对了.(这里面的输出可能会有乱码, 不重要, 找字体英文名称即可) 同理还有: SimHei 当然, 前提是win+R运行框输入fonts跳转到的文件夹中有要导入的字体, 如果没有需要安装, 安装的话需要为所有用户安装, 否则还是找不到. 备选方案:(终端cmd或powershell管理员模式下运行) fc-cache -rv 刷新字体缓存.

阅读更多

Nvim在ubuntu下报错executable 'ctags' can't be found. gute ntags will be disabled. you can re Enable it by setting g:gutentags_enabled back to 1.的解决方法

问题 最近在Ubuntu云服务器环境中部署了一下nvim, 用的大佬的配置1, 但是在Mac上没问题(指的是执行:checkhealth), 却在Ubuntu上有问题了, 具体信息为打开.yaml文件之后报错(其他文件没有此类问题): Executable 'ctags' can't be found. Gutentags will be disabled. You can re-enable it by setting g:gutentags_enabled back to 1. 一开始我天真的以为加上let g:gutentags_enabled=1这句就行了, 没想到根本没有用, 翻看google发现, 原来解决方法竟然如此简单… 参考2,3. 解决 一开始我用了2...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits