4kyu Twice linear

题目背景:

Task
Consider a sequence u where u is defined as follows:

1. The number u(0) = 1 is the first one in u.
2. For each x in u, then y = 2 * x + 1 and z = 3 * x + 1 must be in u too.
3. There are no other numbers in u.

Given parameter n the function dbl_linear (or dblLinear…) returns the element u(n) of the ordered (with <) sequence u (so, there are no duplicates).

Example

u = [1, 3, 4, 7, 9, 10, 13, 15, 19, 21, 22, 27, ...]
dbl_linear(10) should return 22

题目分析:
本道题目的思路很清晰,就是不断迭代数组中的元素,以及该元素 u 的 2 * u + 1 和 3 * u + 1,我们需要做的是如何把这些元素按照从小到大的顺序排序。简单的思路就是借用队列去维护 2 * u + 1,及 3 * u + 1 的非记录元素,每个队列里面的数据是从小到大的排序,每一次都是比对两个队列的队首元素,然后次数 +1。

AC代码:

#include <queue>class DoubleLinear
{public:static int dblLinear(int n);
};int DoubleLinear::dblLinear(int n) {std::queue<int> q2;std::queue<int> q3;int tmp = 1, cnt = 0;while( cnt != n ) {q2.push(tmp * 2 + 1);q3.push(tmp * 3 + 1);if ( q2.front() < q3.front() ) {tmp = q2.front();q2.pop();}else if ( q2.front() > q3.front() ) {tmp = q3.front();q3.pop();}else {tmp = q2.front();q2.pop();q3.pop();}cnt++;   }return tmp;
}

4kyu Twice linear相关推荐

  1. 4kyu N linear

    4kyu N linear 题目背景: Task Consider an integer sequence U(m) defined as: 1. m is a given non-empty set ...

  2. torch.nn.Linear()函数的理解

    import torch x = torch.randn(128, 20) # 输入的维度是(128,20) m = torch.nn.Linear(20, 30) # 20,30是指维度 outpu ...

  3. torch学习笔记(二) nn类结构-Linear

    Linear 是module的子类,是参数化module的一种,与其名称一样,表示着一种线性变换. 创建 parent 的init函数 Linear的创建需要两个参数,inputSize 和 outp ...

  4. android layout组件,Android UI学习 - Linear Layout, RelativeLayout

    1.一些常用的公共属性介绍 1) layout_width -宽 fill_parent: 宽度和父元素相同,wrap_content: 宽度随本身的内容所调整,或者指定 px值来设置宽 2) lay ...

  5. PyTorch 笔记(16)— torch.nn.Sequential、torch.nn.Linear、torch.nn.RelU

    PyTorch 中的 torch.nn 包提供了很多与实现神经网络中的具体功能相关的类,这些类涵盖了深度神经网络模型在搭建和参数优化过程中的常用内容,比如神经网络中的卷积层.池化层.全连接层这类层次构 ...

  6. 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)

    从Ⅱ到Ⅳ都在讲的是线性回归,其中第Ⅱ章讲得是简单线性回归(simple linear regression, SLR)(单变量),第Ⅲ章讲的是线代基础,第Ⅳ章讲的是多元回归(大于一个自变量). 本文的 ...

  7. Linear Regression(一)——

    Linear Regression(一)-- 机器学习 回归 定义 回归的定义 在平面上存在这些点我希望能用一条直线尽可能经过它们. 于是我们画了下面的一条直线 这样的过程就叫做回归. 这个过程中我们 ...

  8. R语言plotly可视化:plotly可视化箱图、相同数据集对比使用不同分位数算法的可视化差异(quartilemethod参数、linear、inclusive、exclusive)

    R语言plotly可视化:plotly可视化箱图.相同数据集对比使用不同分位数算法的可视化差异(quartilemethod参数.linear.inclusive.exclusive) 目录

  9. R语言广义线性模型函数GLM、广义线性模型(Generalized linear models)、GLM函数的语法形式、glm模型常用函数、常用连接函数、逻辑回归、泊松回归、系数解读、过散度分析

    R语言广义线性模型函数GLM.广义线性模型(Generalized linear models).GLM函数的语法形式.glm模型常用函数.常用连接函数.逻辑回归.泊松回归.系数解读.过散度分析 目录

最新文章

  1. ng new ng-pro 报错(创建angular6项目报错)
  2. 常程跳槽小米,联想:已付竞业协议股权对价 500 万,须偿还
  3. Xamarin Essentials教程屏幕状态DeviceDisplay
  4. redis aof文件的格式 以及如何批量写入大量redis数据
  5. 姜健:为开源工作幸福且自豪
  6. 信息学奥赛一本通 1168:大整数加法 | OpenJudge NOI 1.6 10:大整数加法
  7. lvds 共模电感_【成功案例】共模电感CM0805C221R-10解决车载LVDS信号的手持天线抗扰问题...
  8. 英语总结系列(八):回顾八月展望九月
  9. Angular2 的 View Encapsulation(样式封装)
  10. c# 安装和卸载服务(window service)
  11. iOS锁屏代码注意使用新接口
  12. 系统开机 linux 时间不对,linux下查看系统运行时间和最近一次的开机启动时间
  13. eclipse-最新具体汉化教程
  14. uploadify 实现文件上传
  15. 做了三年开发后,我选择回家创业
  16. 在IGBT的开启过程中,IGBT的电压降低,电流上升,在IGBT的关断过程中IGBT的电压上升,电流下降,在一段时间内,电压和电流均不为0,由于功率等于电压乘以电流,即P=U×I,因此将产生损耗,开
  17. ubuntu安装nvidia驱动
  18. 十分钟带你认识Node.js
  19. 联发科MTK(3G,4G,5G)核心板/芯片简介
  20. 【FreeRTOS】队列的使用

热门文章

  1. 解决iIntelliJ IDEA导入jstl后,jsp中taglib指令无法自动添加uri地址
  2. 一份好的简历应该是这样的(This Is What A GOOD Resume Should Look Like)
  3. 自己动手实现一个简单的JSON解析器
  4. Spring事务属性详解
  5. [BetterExplained]遇到问题为什么应该自己动手
  6. Machine Learning week 11 quiz: Application: Photo OCR
  7. 工作总结-基于R的数据分析
  8. Activity调用栈的分析
  9. Linux中iptables的用法
  10. SQL Server调优系列基础篇(子查询运算总结)