网络测量常见名词:
参考文献
戴冕,程光,周余阳.软件定义网络的测量方法研究.软件学报,2019,30(6):1853−1874. http://www.jos.org.cn/
1000- 9825/5832.htm
参考文献
戴冕,程光,周余阳.软件定义网络的测量方法研究.软件学报,2019,30(6):1853−1874. http://www.jos.org.cn/
1000- 9825/5832.htm
难度中等740
给定两个以字符串形式表示的非负整数 num1
和 num2
,返回 num1
和 num2
的乘积,它们的乘积也表示为字符串形式。
示例 1:
1 | 输入: num1 = "2", num2 = "3" |
示例 2:
1 | 输入: num1 = "123", num2 = "456" |
说明:
num1
和 num2
的长度小于110。num1
和 num2
只包含数字 0-9
。num1
和 num2
均不以零开头,除非是数字 0 本身。通过次数174,069
提交次数387,591
请问您在哪类招聘中遇到此题?
第i+j位是进位
第i+j+1位是要计算的位
1 | class Solution { |
将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)。
例如:
给出的链表为 1\to 2 \to 3 \to 4 \to 5 \to NULL1→2→3→4→5→NUL**L, m=2,n=4m=2,n=4,
返回 1\to 4\to 3\to 2\to 5\to NULL1→4→3→2→5→NUL**L.
数据范围: 链表长度 0 < size \le 10000<s*ize≤1000,0 < m \le n \le size0<m≤n≤size,链表中每个节点的值满足 |val| \le 1000∣va*l∣≤1000
要求:时间复杂度 O(n)O(n) ,空间复杂度 O(n)O(n)
进阶:时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)
输入:
1 | {1,2,3,4,5},2,4 |
返回值:
1 | {1,4,3,2,5} |
输入:
1 | {5},1,1 |
返回值:
1 | {5} |
1 | import java.util.*; |
难度中等494
给定一个二叉搜索树的根节点 root
,和一个整数 k
,请你设计一个算法查找其中第 k
个最小元素(从 1 开始计数)。
示例 1:
1 | 输入:root = [3,1,4,null,2], k = 1 |
示例 2:
1 | 输入:root = [5,3,6,2,4,null,null,1], k = 3 |
提示:
n
。1 <= k <= n <= 104
0 <= Node.val <= 104
进阶:如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k
小的值,你将如何优化算法?
通过次数150,512
提交次数201,309
二叉搜索树的中序遍历是从小到大的
1 | /** |
难度中等813
给定一个正整数 n
,输出外观数列的第 n
项。
「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。
你可以将其视作是由递归公式定义的数字字符串序列:
countAndSay(1) = "1"
countAndSay(n)
是对 countAndSay(n-1)
的描述,然后转换成另一个数字字符串。前五项如下:
1 | 1. 1 |
要 描述 一个数字字符串,首先要将字符串分割为 最小 数量的组,每个组都由连续的最多 相同字符 组成。然后对于每个组,先描述字符的数量,然后描述字符,形成一个描述组。要将描述转换为数字字符串,先将每组中的字符数量用数字替换,再将所有描述组连接起来。
例如,数字字符串 "3322251"
的描述如下图:
示例 1:
1 | 输入:n = 1 |
示例 2:
1 | 输入:n = 4 |
提示:
1 <= n <= 30
通过次数239,119
提交次数402,335
1 | class Solution { |
1 | class Solution { |
难度简单13
给定一个非负整数 n
,请计算 0
到 n
之间的每个数字的二进制表示中 1 的个数,并输出一个数组。
示例 1:
1 | 输入: n = 2 |
示例 2:
1 | 输入: n = 5 |
说明 :
0 <= n <= 105
进阶:
给出时间复杂度为 O(n*sizeof(integer))
的解答非常容易。但你可以在线性时间 O(n)
内用一趟扫描做到吗?
要求算法的空间复杂度为 O(n)
。
你能进一步完善解法吗?要求在C++或任何其他语言中不使用任何内置函数(如 C++ 中的 __builtin_popcount
)来执行此操作。
1 | class Solution { |
对于所有的数字,只有奇数和偶数两种:
奇数:二进制表示中,奇数一定比前面那个偶数多一个 1,因为多的就是最低位的 1。
偶数:二进制表示中,偶数中 1 的个数一定和除以 2 之后的那个数一样多。因为最低位是 0,除以 2 就是右移一位,也就是把那个 0 抹掉而已,所以 1 的个数是不变的。
所以我们可以得到如下的状态转移方程:
$dp[i] = dp[i-1]$,当i为奇数
$dp[i] = dp[i/2]$,当i为偶数
上面的方程还可进一步合并为:
$dp[i] = dp[i/2] + i % 2$
通过位运算进一步优化:
$i / 2 $可以通过$ i >> 1 $得到;
$i % 2 $可以通过$ i & 1 $得到;
作者:Terry2020
链接:https://leetcode-cn.com/problems/w3tCBm/solution/rang-ni-miao-dong-de-shuang-bai-ti-jie-b-84hh/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
难度中等3
给定一个无重复元素的正整数数组 candidates
和一个正整数 target
,找出 candidates
中所有可以使数字和为目标数 target
的唯一组合。
candidates
中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。
对于给定的输入,保证和为 target
的唯一组合数少于 150
个。
示例 1:
1 | 输入: candidates = [2,3,6,7], target = 7 |
示例 2:
1 | 输入: candidates = [2,3,5], target = 8 |
示例 3:
1 | 输入: candidates = [2], target = 1 |
示例 4:
1 | 输入: candidates = [1], target = 1 |
示例 5:
1 | 输入: candidates = [1], target = 2 |
提示:
1 <= candidates.length <= 30
1 <= candidates[i] <= 200
candidate
中的每个元素都是独一无二的。1 <= target <= 500
注意:本题与主站 39 题相同: https://leetcode-cn.com/problems/combination-sum/
1 | class Solution { |
1 | class Solution { |
难度简单27
符合下列属性的数组 arr
称为 山峰数组(山脉数组) :
arr.length >= 3
存在(0 < i < arr.length - 1)使得:
arr[0] < arr[1] < ... arr[i-1] < arr[i]
arr[i] > arr[i+1] > ... > arr[arr.length - 1]
给定由整数组成的山峰数组 arr
,返回任何满足 arr[0] < arr[1] < ... arr[i - 1] < arr[i] > arr[i + 1] > ... > arr[arr.length - 1]
的下标 i
,即山峰顶部。
示例 1:
1 | 输入:arr = [0,1,0] |
示例 2:
1 | 输入:arr = [1,3,5,4,2] |
示例 3:
1 | 输入:arr = [0,10,5,2] |
示例 4:
1 | 输入:arr = [3,4,5,1] |
示例 5:
1 | 输入:arr = [24,69,100,99,79,78,67,36,26,19] |
提示:
3 <= arr.length <= 104
0 <= arr[i] <= 106
arr
是一个山脉数组进阶:很容易想到时间复杂度 O(n)
的解决方案,你可以设计一个 O(log(n))
的解决方案吗?
注意:本题与主站 852 题相同:https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/
1 | class Solution { |
1 | class Solution { |
难度简单126
写一个程序,输出从 1 到 n 数字的字符串表示。
\1. 如果 n 是3的倍数,输出“Fizz”;
\2. 如果 n 是5的倍数,输出“Buzz”;
3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
1 | n = 15, |
通过次数84,968
提交次数122,924
1 | class Solution { |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true