输出-link如何完成如下算法?

问题描述

link如何完成如下算法?

有一个数组,共有n个元素,要求输出所有比它到它前面平均数小的元素。

解决方案

和bdmh的略有不同。看你怎么理解“它到它前面平均数”是否包含它。

如果包含,最后的4就不算。

1
2
0
请按任意键继续. . .

解决方案二:

        List<int> list = new List<int>(new int[] { 2, 4, 6, 1, 2, 8, 9, 0, 4 });
        int[] arr = list.Where((mm, index) => mm<list.Average(v=>index-1)).ToArray();

解决方案三:

上面是c#的linq

解决方案四:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> list = new List<int>() { 2, 4, 6, 1, 2, 8, 9, 0, 4 };
            int[] arr = list.Where((x, i) => list.Take(i + 1).Average() > x).ToArray();
            foreach (int item in arr)
            {
                Console.WriteLine(item);
            }
        }
    }
}

时间: 2024-11-02 11:22:32

输出-link如何完成如下算法?的相关文章

比PCA降维更高级——(R/Python)t-SNE聚类算法实践指南

首发地址:https://yq.aliyun.com/articles/70733 更多深度文章,请关注:https://yq.aliyun.com/cloud 作者介绍:Saurabh.jaju2   Saurabh是一名数据科学家和软件工程师,熟练分析各种数据集和开发智能应用程序.他目前正在加州大学伯克利分校攻读信息和数据科学硕士学位,热衷于开发基于数据科学的智能资源管理系统. Linkedin:https://in.linkedin.com/in/saurabh-jaju Github: 

JS操作二进制:LZ77 算法

JS操作二进制很麻烦,而且一直没有一个好的无损压缩工具来实现纯文本的压缩. 所以钻研了一段时间的gzip,后来发现还是仅用 LZ77 比较容易实现,gzip中的 haffman 压缩部分对于JS来说太难搞了. 代码如下,注释的非常完整,所以就不多说了,有兴趣的可以仔细研究下: 运行代码框<html> <head> <title>LZ77</title> <style> * { font-size:12px; } body { overflow:a

大话数据结构之二:算法

1.数据结构和算法的关系 个人感觉程序=算法+数据结构.数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的.往往是在发展一种算法的时候,构建了适合于这种算法的数据结构.当然数据结构和算法也有区别:数据结构关注的是数据的逻辑结构.存储结构以及基本操作,而算法更多的是关注如何在数据结构的基础上解决实际问题.算法是编程的思想,数据结构则是这些思想的逻辑基础. 2.算法定义 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作. 现实世界中的问题千

无编码利用协同算法实现个性化推荐

目标 根据昨天的URL上报数据生成ALS模型.之后将模型加载到流式计算中,对实时URL的访问用户进行内容推荐.整个流程只需要你写写SQL(做解析),弄弄配置就搞定. 资源准备 下载 spark 1.6 下载 StreamingPro 算法版链接:  http://share.weiyun.com/7c4b806011dc4e03d39279eafae916d7 模型训练 首先我们拷贝一份配置文件  als-training,我在配置文件里模拟了一些数据,假设是一些URL,大体如下,表示itemI

BP算法双向传,链式求导最缠绵(深度学习入门系列之八)

更多深度文章,请关注:https://yq.aliyun.com/cloud 系列文章: 一入侯门"深"似海,深度学习深几许(深度学习入门系列之一)人工"碳"索意犹尽,智能"硅"来未可知(深度学习入门系列之二)神经网络不胜语,M-P模型似可寻(深度学习入门系列之三)"机器学习"三重门,"中庸之道"趋若人(深度学习入门系列之四)Hello World感知机,懂你我心才安息 (深度学习入门系列之五)损失函数减肥

《算法设计与分析》一一1.2 抽象算法设计

1.2 抽象算法设计 算法设计源于我们面临一个有待解决的算法问题.为此,我们首先讨论算法问题的严格定义,其次讨论算法设计,主要讨论证明算法正确性的基本方法.1.2.1 算法问题规约 基于RAM模型,我们主要讨论这样的算法:它接受有限的数据作为输入,进行相应的处理,在有限步内终止,并给出输出.因此我们可以将算法问题严格地定义为精确限定输入/输出的"规约"(specification)形式. 定义1.1(算法问题规约) 一个算法问题的规约主要包括两部分: ●输入:明确规定了算法接受的所有合

C++程序设计:原理与实践(进阶篇)16.9 容器算法

16.9 容器算法 到目前为止,我们都是用元素序列来定义标准库算法.序列用迭代器指明:一个输入序列定义为一对迭代器[b:e),其中b指向序列首元素,e指向序列尾元素之后位置(见15.3节).一个输出序列简单地用一个迭代器指定,该迭代器指向序列的首元素.例如:   这种方式很好.也很通用.例如,我们可以排序vector的一半内容:   但是,指明元素范围有些啰嗦,而大多数情况下,我们需要排序整个vector而不是一半.因此,大多数情况下,我们希望这样编写代码:   标准库未提供sort()的这种变

《中国人工智能学会通讯》——9.17 算法设计

9.17 算法设计 我们采取如下三种方式为 LDL 设计算法:① 问题转化,即将 LDL 问题转换为现有学习问题:② 算法改进,即扩展现有学习算法用以处理 LDL:③ 专用化算法,即根据 LDL 定义专门设计的算法. 1 . 问题转换 将 LDL 问题转化为 SLL 学习问题的一个直接方式,是将训练样例转化为加权的单标记样例.具体而言,每个训练样例 转化为 c 个单标记样本 ,其对应权值为 .根据每个样例的权重对训练集进行重采样,得到c×n个标准单标记样例,随后可以应用 SLL 算法进行学习.

SAS首席科学家:如何选择机器学习算法?

面对各种各样的机器学习算法--"我应该用哪一个?",是一名初学者经常遇到的问题.问题的答案,取决于许多因素,包括: 数据的大小,质量和性质 可用的计算时间 任务的紧迫性 你想对数据做什么 即便是经验丰富的数据科学家,也无法在尝试各种算法之前,判断出哪种算法的效果最好.在这里,我并不是忽悠大家要一步到位.我的意思是,要根据明确的因素,搞清楚应该优先尝试哪些算法. 机器学习算法速查表 该流程图展示了何时使用哪些算法 机器学习算法速查表,帮助你找到适合不同具体问题的算法.本文将引导你如何使用