时间序列 数据 过滤

 

func TimeSerie(Serie []int, Interval int) []int {
	if len(Serie) == 0 {
		return nil
	}
	abs := func(i int) int {
		if i < 0 {
			return -i
		}
		return i
	}
	ans := []int{}
	n := len(Serie)
	max := func() []int {
		start := Serie[0]
		ans := []int{}
		for i := 0; i < n; i++ {
			ans = append(ans, start+i*Interval)
		}
		return ans
	}()
	start := 0
	for _, u := range max {
		var flag bool
		for i := 0; i < Interval; i++ {
			for j := start; j < n; j++ {
				v := Serie[j]
				if abs(v-u) == i {
					flag = true
					ans = append(ans, v)
					start = j
					break
				}
			}
			if flag {
				break
			}
		}
	}
	return ans
}

  

 

 

 计划按照一定时间间隔生成数据,但是在实际生成环节,

在不同的子时间段,频率有上下浮动,求出最接近预期的时刻的数据形成的数列。

比如:每个10s生成数据

 

时间轴X: 0,8,9,12,16,21,23,28,33

数据轴Y:

取9而不是12

取21而不是16

取28而不是33

 

 

 

输入一组增序的整数、给定的差值,选择其中一个数,选出最接近差值的一组数

    1660728301,
    1660728304,
    1660728306,
    1660728309,
    1660728311,
    1660728313,
    1660728314,
    1660728316,
    1660728320,
    1660728323,
    1660728326,
    1660728331,
    1660728332,
    1660728338,
    1660728339,
    1660728428,
    1660728432,
    1660728435,
    1660728438,
    1660728452,
    1660728453,
    1660728455,
    1660728458,
    1660728647,
    1660728652,
    1660728654,
    1660728655,
    1660728659,
    1660728660,
    1660728662,
    1660728668,
    1660728687,
    1660728694,
    1660728695,
    1660728697,
    1660728700,
    1660728703,
    1660728703,
    1660728711,
    1660728811,
    1660728816,
    1660728823,
    1660728830,
    1660728906,
    1660728912,
    1660728920,
    1660728926,
    1660728941,
    1660728944,
    1660728947,
    1660728949,
    1660729245,
    1660729276,
    1660729310,
    1660729346,
    1660729426,
    1660729434,
    1660729440,
    1660729446,
    1660729596,
    1660729607,
    1660729615,
    1660729622,
    1660729739,
    1660729745,
    1660729754,
    1660729762,
    1660729769,
    1660729777,
    1660729781,
    1660729785,
    1660730375,
    1660730415,

 

posted @ 2022-08-18 17:45  papering  阅读(78)  评论(0编辑  收藏  举报