###数对数目分析
####原题 给定两个数组X和Y,元素都是正数。请找出满足如下条件的数对的数目:
- x^y > y^x,即x的y次方>y的x次方
- x来自X数组,y来自Y数组
####分析 假设数组X的长度为m,数组Y的长度为n,最直接的暴力法,时间复杂度为O(m*n),但这样的话,并不需要都是正数这个条件的。那么,我们该如何优化呢?
1. install | |
```shell | |
cd ~/chain_bin/ | |
wget https://github.com/osmosis-labs/osmosis/releases/download/v11.0.1/osmosisd.tar.gz | |
wget https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2Fv1.3.0/cosmovisor-v1.3.0-linux-amd64.tar.gz | |
# /usr/bin/python | |
# -*- coding: utf-8 -*- | |
import sys | |
reload(sys) | |
sys.setdefaultencoding('utf8') # @UndefinedVariable | |
# 格式:\033[显示方式;前景色;背景色m | |
# 说明: |
第一步,在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: | |
cd /etc/yum.repos.d/ | |
vim nginx.repo | |
填写如下内容: | |
[nginx] | |
name=nginx repo |
# -*- coding: utf-8 -*- | |
import requests | |
import sys | |
reload(sys) | |
sys.setdefaultencoding('utf8') # @UndefinedVariable | |
skills = ''' |
###数对数目分析
####原题 给定两个数组X和Y,元素都是正数。请找出满足如下条件的数对的数目:
####分析 假设数组X的长度为m,数组Y的长度为n,最直接的暴力法,时间复杂度为O(m*n),但这样的话,并不需要都是正数这个条件的。那么,我们该如何优化呢?
###LIS问题分析
####原题 这个LIS问题,可不是Longest Increasing Subsequence,而是Largest Independent Set,含义如下:给定一棵二叉树,找到满足如下条件的最大节点集合:集合中的任意两个节点之间,都没有边。如下图:
LIS大小为5,为{10,40,60,70,80}.
####分析 这个题目与前几期的题目颇有类似,而且,一个二叉树的问题。通常来讲,树的问题一般都是可以通过递归来解决的。递归是自顶向下的分析问题,分析原问题是否能够分解为子问题。那么LIS问题呢?我们从LIS集合大小入手,设f(x)为以x为根的数的LIS的大小,根据题目中的定义:
###最少插入字符分析
####原题 给定字符串,可以通过插入字符,使其变为回文。求最少插入字符的数量。例如:
####分析
####分词问题
####原题 给定字符串,以及一个字典,判断字符串是否能够拆分为字段中的单词。例如,字段为{hello,world},字符串为hellohelloworld,则可以拆分为hello,hello,world,都是字典中的单词。
####分析 这个题目唤作“分词问题”,略显宽泛。只是想提及这个问题,这是在自然语言处理,搜索引擎等等领域中,非常基础的一个问题,解决的方法也比较多,相对比较成熟,不过这仍旧是一个值得进一步探索的问题。那我们先从这个简单的题目入手,看看如何处理题目中这个问题。 最直接的思路就是递归,很简单。我们考虑每一个前缀,是否在字典中?如果在,则递归处理剩下的字串,如果不在;则考虑其他前缀。示例代码如下:
###最大乘积分析
####原题 一根绳子,长度为n米。将其切成几段,每一段的长度都是整数。请给出一种切法,使得切成的各段绳子之间的乘积是最大的。注意,最少要切一下的。 ####分析 这个题目如何一步一步的分析呢?不管切几段,总有第一段,第二段…等等。第一段的长度有哪些选择呢?可以是1、2、3...一直到n-1(至少要切一下),我们用max_prod(n)表示长度为n的绳子的切法中,乘积最大的值。那么:
###加油站分析
####原题 城市的环形路有n个加油站,第i个加油站的油量用gas[i]来表示,你有如下的一辆车:
现在你可以从任意加油站开始,路过加油站可以不断的加油,问是否能够走完环形路。如果可以返回开始加油站的编号,如果不可以返回-1。注意,解决方案保证是唯一的。