摘要:
最简单的方案,穷举所有可能的子串,判断子串是否为回文,使用一变量记录最大回文长度,若新的回文超过之前的最大回文长度则更新标记变量并记录当前回文的起止索引,最后返回最长回文子串。 C++: JAVA: 源码分析 使用left, right作为子串的起止索引,用于最后构造返回结果,避免中间构造字符串以减 阅读全文
摘要:
字符串的回文判断问题,由于字符串可随机访问,故逐个比较首尾字符是否相等最为便利,即常见的『两根指针』技法。此题忽略大小写,并只考虑字母和数字字符。 C++: JAVA: 源码分析 两步走: 字符的判断尽量使用语言提供的 API 复杂度分析 两根指针遍历一次,时间复杂度 O(n), 空间复杂度 O(1 阅读全文
摘要:
题目:给定N个人物和M组朋友关系,计算出他们之间形成多少个朋友圈 举个例子,比如现在有5个宠物,分别是小猫1,小猫2,小猫3,小狗1,小狗2。再告诉你小猫1和小狗1是好朋友,小猫2和小狗1是好朋友,小猫3和小狗2是好朋友。这样它们之间就形成了2个朋友圈。如下图: 分析:典型的图结构的数据结构,也可用 阅读全文
摘要:
给定一个整数,从整数当中去掉k个数字,要求剩下数字形成的新整数尽可能小。 什么意思呢?让我们举几个栗子: 给定整数1593212,删去3个数字,新整数的最小情况是1212 给定整数30200,删去1个数字,新整数的最小情况是200 给定整数10,删去2个数字,新整数的最小情况是0 需要注意的是,给定 阅读全文
摘要:
grep - 打印匹配行 grep is a powerful program used to find text patterns within files. It’s used like this: grep 是个很强大的程序,用来找到文件中的匹配文本。这样使用 grep 命令: When gr 阅读全文
摘要:
Question 题解 首先找到各个单词(以空格隔开),根据题目要求,单词应从后往前依次放入。正向取出比较麻烦,因此可尝试采用逆向思维——先将输入字符串数组中的单词从后往前逆序取出,取出单词后即翻转并append至新字符串数组。在append之前加入空格即可。 源码分析 空间复杂度为O(1)的解法? 阅读全文
摘要:
执行sh文件报没有权限: 看下该文件的权限: 缺少执行的权限,直接加上吧: 权限加上去了,可以执行sh文件了 若用 chmod 4755 filename 可使此程序具有root的权限 阅读全文
摘要:
Trait Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。 T 阅读全文
摘要:
如果我的表里面,有一个字段是tag,它是由一些数字或字符串用 "," 组合起来的,现在我需要统计一下这个表里面tag字段含有关键字key的数目 比如我现在tag是一些数字用 "," 组合起来的,我现在想查询tag包含数字1的行有多少条,一开始的查询语句是这样的: 对于tag的范围在0-9不会出现什么 阅读全文
摘要:
/etc: 这个目录包含所有系统层面的配置文件。它也包含一系列的 shell 脚本, 在系统启动时,这些脚本会开启每个系统服务。这个目录中的任何文件应该是可读的文本文件。 有趣的文件:虽然/etc 目录中的任何文件都有趣,但这里只列出了一些我一直喜欢的文件: /etc/crontab, 定义自动运行 阅读全文