Cracking The Coding Interview 9.7

2023-11-30 19:32
文章标签 coding interview 9.7 cracking

本文主要是介绍Cracking The Coding Interview 9.7,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//原文:
//
//	A circus is designing a tower routine consisting of people standing atop one another’s shoulders. For practical and aesthetic reasons, each person must be both shorter and lighter than the person below him or her. Given the heights and weights of each person in the circus, write a method to compute the largest possible number of people in such a tower.
//
//EXAMPLE:
//
//Input (ht, wt): (65, 100) (70, 150) (56, 90) (75, 190) (60, 95) (68, 110)
//
//Output: The longest tower is length 6 and includes from top to bottom: (56, 90) (60,95) (65,100) (68,110) (70,150) (75,190)
//
#include <iostream>
#include <algorithm>
using namespace std;struct people
{
public:people(){};people(int _h, int _w){h = _h; w = _w;};int h;int w;
};bool compare(const people &p1, const people &p2)
{if ( p1.h == p2.h){return p1.w < p2.w;}return p1.h < p2.h;
}//求最长子序列,参考http://www.csie.ntnu.edu.tw/~u91029/LongestIncreasingSubsequence.html#1
int getLIS(people *p, int size)
{int *length = new int[size];for (int i = 0; i<size ; i++){length[i] = 1;}for (int i =0; i <size ; i++){for (int j = i+1; j<size; j ++){if (p[i].w < p[j].w){length[j] = max(length[j], length[i] + 1); }}}int n = length[0];for (int i = 0; i < size; i++){n = (length[i]>n? length[i]:n);}return n;
}int main()
{people p[5] = {people(2,10), people(5,18), people(4,17), people(3,9), people(7,20)};for (int i = 0; i<5; i++){cout<<p[i].h<<"   "<<p[i].w<<endl;}cout<<"============="<<endl;sort(p,p+5,compare);for (int i = 0; i<5; i++){cout<<p[i].h<<"   "<<p[i].w<<endl;}cout<<getLIS(p,5)<<endl;return 0;
}

这篇关于Cracking The Coding Interview 9.7的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438263

相关文章

9.7(UDP局域网多客户端聊天室)

服务器端 #include<myhead.h>#define SERIP "192.168.0.132"#define SERPORT 8888#define MAX 50//定义用户结构体typedef struct{struct sockaddr_in addr;int flag;}User;User users[MAX];//用户列表void add_user(struct s

GitHub每日最火火火项目(9.7)

项目名称:polarsource / polar 项目介绍:polar 是一个开源的项目,它是 Lemon Squeezy 的替代方案,具有更优惠的价格。该项目旨在让开发者能够凭借自己的热情进行编码并获得报酬。通过使用 polar,开发者可以更轻松地实现自己的创意和项目,并从中获得收益。 项目地址:https://github.com/polarsource/polar项目名称:psf / bla

AI周报(9.1-9.7)

AI应用-Tidal 引领海洋养殖革命 Tidal团队,一个源自Alphabet X的创新项目,今年七月顺利从X实验室毕业,成为一家独立的公司。Tidal正在通过人工智能技术改变海洋养殖,特别是鲑鱼养殖。Tidal的总部位于挪威特隆赫姆,他们结合了传感器、机器人、数据科学和人工智能技术,为鲑鱼养殖提供全面的解决方案。这个系统可以监控鱼类并提供产量估算,旨在在问题(如海虱)造成严重损害之前发现它们

【算法:二分查找】java算法二分查找,如何通过二分查找找到重复元素的第一个,coding

二分查找算法,是基于有序的结果集进行查询的 二分查找的时间复杂度是O(logN) 写一段二分查询的代码: public static void main(String[] args) {int[] data = new int[]{1, 2, 3, 3, 5, 5, 6, 8, 9, 9, 10};int queryData = 5;int index = queryDataIndex(qu

Cracking the Safe

原题链接:https://leetcode.cn/problems/cracking-the-safe/description/ 题目要求的是,某个时刻能够打开保险箱的任一最短密码序列,需要包含所有密码子串。 答案应当是一个字符串,任意长度为n的子串的都是一种密码方案。 对于有n位,每位k种方案的密码串,共有k^n个。 题目要求最短,那么任意位置选出的子串应当是不重复的。 也就是说,一个

《WEB开发-HEXO博客搭建》第4章 同步到Coding

笔者博客地址 1.注册Coding.net账号 Coding官网:https://coding.net/ 【注意】如果不想花钱的话要绑定腾讯云可以免费升级,笔者使用的是绑定腾讯云升级的。 图1 2.新建项目 注意项目名与注册用的账户名一致,这里我用的是ouxiaolong。 图2 图3 3.添加公钥 上面设置完毕之后点击创建项目,然后点击设置->部署公钥->新建

代码规范工具大比拼---Alibaba Java Coding Guidelines

代码规范工具大比拼---Alibaba Java Coding Guidelines   一,序言        对于代码规范的工具,市场上有很多很多, 我们常常说:”工欲善其事必先利其器”, 一个非常强大的代码检查工具, 能让很多代码实践者减少很多多不必要的小错误,尤其是对于一个团队来说,能较好的统一代码规则.   二,详情    1,Sonar

【Git】更新拉取Coding子仓库代码 及 过程中用户名密码输什么 git submodule

背景: 克隆拉取完主仓库,没有初始化子仓库 主仓库目录下有.gitmodules文件,存储了子仓库路径和url [submodule "aa"]path = aaurl = git@e.coding.net:aa.git[submodule "bb"]path = bburl = git@e.coding.net:bb.git 在主仓库目录下输入以下命令拉取更新子仓库代码 git s

sublime text3 安装插件,以及Zen Coding 写法简单了解

参考的文章 1、 http://blog.csdn.net/admin_yi/article/details/53608965 2、 http://www.cnblogs.com/tinyphp/p/3217457.html 安装说明 3、 http://www.cnblogs.com/Rising/p/3741116.html 需要安装的插件的说明 4、 http://www.xia

Interview preparation--elasticSearch倒排索引原理

搜索引擎应该具备哪些要求 查询速度快 优秀的索引结构设计高效率的压缩算法快速的编码和解码速度 结果准确 ElasiticSearch 中7.0 版本之后默认使用BM25 评分算法ElasticSearch 中 7.0 版本之前使用 TP-IDF算法 倒排索引原理 当我们有如下列表数据信息,并且系统数据量达到10亿,100亿级别的时候,我们系统该如何去解决查询速度的问题。数据库选择—mysq