如何编写函数生成1和-1交替的指定长度序列?
1与-1交替序列生成函数实现
核心逻辑
- 序列首位固定为1,后续每一位与前一位符号相反
- 可通过索引位的奇偶性直接计算对应值:从0开始计数的索引为偶数时取值1,为奇数时取值-1,计算效率更高,无需额外存储前一位状态
常用语言实现示例
Python 实现
返回数值列表版本
def get_alternating_seq(len: int) -> list[int]: return [1 if idx % 2 == 0 else -1 for idx in range(len)]
返回空格分隔字符串版本(匹配题目示例输出格式)
def get_alternating_seq(len: int) -> str: str_list = ["1" if idx % 2 == 0 else "-1" for idx in range(len)] return " ".join(str_list)
如果对性能要求不高,也可以用幂运算写法简化代码:
def get_alternating_seq(len: int) -> list[int]: return [(-1)**idx for idx in range(len)]
JavaScript 实现
function getAlternatingSeq(len) { return Array.from({length: len}, (_, idx) => idx % 2 === 0 ? 1 : -1).join(' ') }
效果验证
- 传入参数
3,返回结果为1 -1 1 - 传入参数
5,返回结果为1 -1 1 -1 1
内容的提问来源于stack exchange,提问作者Adrian
相关产品推荐
相关产品推荐

