From 4e81c3cf7d18caa7613c10917ae7777ff436de12 Mon Sep 17 00:00:00 2001 From: ranwenjie Date: Mon, 2 Aug 2021 13:50:13 +0800 Subject: [PATCH] update list --- 9 Algorithms Job Interview/5 数组数列问题.md | 28 +++++++++++--------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/9 Algorithms Job Interview/5 数组数列问题.md b/9 Algorithms Job Interview/5 数组数列问题.md index 5f11697..a674848 100644 --- a/9 Algorithms Job Interview/5 数组数列问题.md +++ b/9 Algorithms Job Interview/5 数组数列问题.md @@ -74,8 +74,6 @@ topMaxK(int *a,int length, int k); - - ## 最长公共子序列 (动态规划的经典题目) 【最大/小差问题】 @@ -330,8 +328,8 @@ isShunZi(int *a,int length) 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。 输入n,打印出S的所有可能的值出现的概率。 -如n=1,值【1,2,3,4,5,6】每个概率是 1/6 -如n=2,值【1~12】 概率。。 +如n=1,值`【1,2,3,4,5,6】`每个概率是 `1/6` +如n=2,值`【1~12】` 概率。。 @@ -488,19 +486,20 @@ updated:设置一个起始点j, 一个翻转点k,一个终止点L 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。 +``` print_continuous_sequence_sum(int n) +``` - -思路一:枚举法。从1开始一直加到等于n,再从2开始。。一直到 n/2+1,在每一轮,都要逐步比较。复杂度O(N^2) - -思路二: a[small,big] sum[small,big]>N small往前移动,否则,big往前移动。 O(N)复杂度搞定 +思路一:枚举法。从1开始一直加到等于n,再从2开始。。一直到 n/2+1,在每一轮,都要逐步比较。复杂度`O(N^2)` +思路二: a[small,big] sum[small,big]>N small往前移动,否则,big往前移动。 `O(N)` 复杂度搞定 ## 找出和为N+1的2个数 -一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。 +一个整数数列,元素取值可能是`1~N`(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。 设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于`N+1`。 -复杂度最好是`O(n)`,如果是 `O(n2)`则不得分。 +复杂度最好是 `O(n)` ,如果是 `O(n2)`则不得分。 + 分析:列出所有的数对,如输入15,输出`【1,14】【2,13】【3,12】。。。` @@ -530,7 +529,7 @@ int print_sequence_sum(int n) 1. [1,30]符合条件有22个 2. [30,60]符合条件也22个 -第1500个: 1500/22=68余4,一个周期内的前4个数是2,3,4,5; 最终答案是`68*30+5` +第1500个: `1500/22=68` 余 4,一个周期内的前4个数是2,3,4,5; 最终答案是`68*30+5` @@ -556,7 +555,7 @@ void reorder(int *data, int length); int one_appear_count(int n); ``` -思路1. 遍历1~n,统计出现1的个数;n足够大时,效率很低 +思路1. 遍历`1~n`,统计出现1的个数;n足够大时,效率很低 思路2. 分析规律 @@ -682,6 +681,7 @@ X0+X1+...+ = 10; 给出两个集合A和B,其中集合A={name}, 集合B={age、sex、scholarship、address、...}, + 要求: 问题1、根据集合A中的name查询出集合B中对应的属性信息; 问题2、根据集合B中的属性信息(单个属性,如age<20等),查询出集合A中对应的name。 @@ -691,3 +691,7 @@ X0+X1+...+ = 10; + + + +