代码随想录day27 || 455 分饼干,376 摆动序列,53 最大子序列和

news/2024/9/20 21:33:59/文章来源:https://www.cnblogs.com/zhougongjin55/p/18354704

分饼干

func findContentChildren(g []int, s []int) int {// 第一思路,双指针暴力解法var count intvar used2 = make([]bool, len(s))g = quicksort(g)s = quicksort(s)for _, child := range g {for idx, cookie := range s {if !used2[idx] && cookie >= child{used2[idx] = truecount++break  // 该child分到饼干就退出循环,让下一个child参与}}}return count}func quicksort(li []int) []int{if len(li) == 0 {return nil}r := rand.New(rand.NewSource(time.Now().Unix()))povid := li[r.Intn(len(li))] // 随机值作为基准var left, right, equal []intfor _, l := range li {if l > povid {right = append(right, l)}else if l < povid {left = append(left, l)}else {equal = append(equal, l)}}left = quicksort(left)right = quicksort(right)return append(left, append(equal, right...)...)}// 必须要排序,不然可能出现最大的饼干分给需求最小的child,导致后面较大的需求无法满足
时间 快排nlogn * 2 + n^2  空间 n
func findContentChildren(g []int, s []int) int {// 第一思路,另一种写法var count intvar idxs intg = quicksort(g)s = quicksort(s)for _, child := range g {for idxs < len(s) {if s[idxs] >= child {count++idxs++break}idxs++}}return count
}

376 摆动序列

image

func wiggleMaxLength(nums []int) int {// 思路 遇到相邻元素积是0或者负数,计数加一if len(nums) == 1 {return 1}var diffpre, diff, count intfor i := 1; i < len(nums); i++ {diff = nums[i] - nums[i - 1]if diffpre <= 0 && diff > 0 ||diffpre >= 0 && diff < 0 {count++}if diff != 0 { // 出现单调情况再赋值,避免出现情况4也被统计diffpre = diff}}return count + 1
}

53 最大子序列和

func maxSubArray(nums []int) int {// 分别存储连续和以及最大和,连续和不断贪心往后累加,如果大于最大和就更新最大和// 连续和更新逻辑,如果目前大于0,往后累加,如果小于0,舍弃,直接等于当前元素var sum, maxsum intmaxsum = math.MinIntfor _, v := range nums {if sum >= 0 {sum += v}else {sum = v}if sum > maxsum {maxsum = sum}}return maxsum
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/781676.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何创建良好的数据模型?

本文将带你深入了解如何创建一个高效的数据模型,并以 NocoBase 为例,展示如何快速建立适合业务需求的数据结构。数据模型是构建高效和稳定系统的基础。它不仅决定了如何存储和管理数据,还直接影响系统的性能和可扩展性。 本文将带你深入了解如何创建一个高效的数据模型,并以…

使用nvm管理多个版本的nodejs

项目依赖某个版本的nodejs,而我本地需要用最新版,那么就存在多个版本nodejs要使用了,如何方便的进行管理呢?背景:项目依赖某个版本的nodejs,而我本地需要用最新版,那么就存在多个版本nodejs要使用了,如何方便的进行管理呢?使用nvm!下载地址:https://github.com/core…

T1破大防

咱就是说你直接写 \(1-n\) 的排列不好吗。。。 真破大防了,一开始对了然后造了一组无解数据 1,1,3,5 我甚至还在找题目有没有写保证有解或无解输出-1之类的。。然后越改越假 以后建议多看看题目

使用BatchNorm替代LayerNorm可以减少Vision Transformer训练时间和推理时间

以Vision Transformer (ViT)的发现为先导的基于transformer的架构在计算机视觉领域引发了一场革命。对于广泛的应用,ViT及其各种变体已经有效地挑战了卷积神经网络(CNN)作为最先进架构的地位。尽管取得了一些成功,但是ViT需要更长的训练时间,并且对于小型到中型输入数据大小,推…

打造垂直领域内容的问答机器人

简介 在大模型问世之后,其中一个最核心的功能就是问答机器人。但是若直接将问题抛给 ChatGPT,仍然解决不了以下限制:相关的关联数据需要联网。 相关的关联数据是 GPT 也不知道的私密数据。而在前面介绍RAG 检索增强生成的时候也同样提到了这一点。 应用场景 垂直领域内容的问…

恒磁场 知识梳理

新概念物理:电磁学第二章梳理安培定律 \[\def\ooint{{\bigcirc}\kern-11.5pt{\int}\kern-6.5pt{\int}} \def\oooint{{\bigcirc}\kern-12.3pt{\int}\kern-7pt{\int}\kern-7pt{\int}} \]  恒定电流只能存在于闭合回路中,但是闭合回路的形状是千变万化的,直接研究整个闭合回路…

第九期 写一个自己的AutoGpt

一:先了解AutoGpt https://zhuanlan.zhihu.com/p/629909493?utm_id=0 二:实现自己的AutoGpt之一:prmpt模板处理思路prompt与代码分离编写reason(理由) & Act (行为)的prompt模板基于langchain编写AutoGpt框架设计长时和短时Memory封装自己的tools运行AutoGpt(一)…

xilinx ZCU106板子运行AMP多核双CPU

一开始的是需要在xilinx板子上HDMI直通,经过在xilinx官网上的寻找,最终发现两种办法,第一种是hdmi_rx_ss ----> vpss-scaler ----> axis-broadcaster ----> Frame Buffer Write ----> Gstreamer ----> Frame Buffer Read ----> v_mix ----> hdmi_tx_ss…

.NET 8 跨平台高性能边缘采集网关

前言 在物联网(IoT)和工业自动化领域,边缘计算设备扮演着至关重要的角色。边缘采集网关作为连接物理世界与数字世界的桥梁,负责收集传感器数据并将数据传输到云端或本地数据中心进行处理。 本文将介绍一款基于 .NET 8 的跨平台高性能边缘采集网关的开源项目。希望通过这个项…

EF Core 索引器属性(Indexer property)场景及应用

EF Core 索引器属性(Indexer property)场景及应用 简介 EF Core 中的索引器属性(Indexer Property)是指通过一个特殊的属性来访问实体类中的数据,而不必明确声明实体属性。这种属性在一些动态或未预定义的场景中非常有用,比如当实体的属性名在编译时并不确定,或者属性名…

EPIC Institute of Technology Round August 2024 (Div. 1 + Div. 2) 补题记录(A~D1,E)

A 容易发现答案为 \(\min(n,k)\min(m,k)\)。 #include<bits/stdc++.h> #define int long long #define pb push_back using namespace std; const int N=1000100; int a[N]; signed main(){int T;cin>>T;while(T--){int n,m,k;cin>>n>>m>>k;n=mi…

后端开发学习敏捷需求--干系人分析与识别

干系人分析与识别 5W1H 干系人分析与识别 1. 干系人是什么直接或者间接影响专题,以及被专题影响的人和组织,用户也是属于干系人,是产品直接或者间接的使用者又叫利益相关者,指积极参与专题或者在专题中其利益可能受积极或消极影响的个人或组织2. 为什么要分析和识别干系人找…