队列解密QQ号

本篇博客主要是《啊哈!算法》的读书笔记,这里做一下记录。

  

问题场景:

  给定一串 QQ 号,631758924,从其中解密出真实的 QQ 号。

  解密规则:首先将第一个数删除,紧接着将第二个数放到这串数的末尾,再将第三个数删除并将第四个放到这串数的末尾,再将第五个数删除......,知道剩下最后一个数,将最后一个                             数删除。按照刚才删除的顺序,将这些删除的数连在一起就是真实的 QQ  号。

1、C语言

代码实现:

/*
* 创建人:czc
* 创建时间:2019/8/31
* 创建用途:队列解密QQ号
*/ #include<stdio.h>
int main(){
int q[]={,,,,,,,,,},head,tail; //初始化队列
// head指向队首,tail指向队尾的后一个位置
head=;
tail=; while(head<tail){
//打印队首并将队首出队
printf("%d ",q[head]);
head++; //将新队首添加到队尾
q[tail]=q[head];
tail++; //再将队首出队
head++;
}
return ;
}

结果截图:

2、Java

代码实现:

/*
创建人:czc
创建时间:2019/8/31
创建用途:队列解密QQ号
*/
import java.util.Scanner;
import static java.lang.System.out;
public class Queue {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int[] q=new int[102];
int n,head,tail; n=scanner.nextInt();
//初始化队列
for(int i=0;i<n;i++){
q[i]=scanner.nextInt();
}
head=0;
tail=9; while(head<tail){
out.print(q[head]+" ");
head++; q[tail]=q[head];
tail++; head++;
}
}
}

结果截图:

吾生也有涯,而知也无涯。

队列解密QQ号的更多相关文章

  1. 队列——解密QQ号

    队列——解密QQ号 --转自啊哈磊[坐在马桶上看算法]算法4:队列——解密QQ号 新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问QQ号,小哈当然不会直接告诉小哼啦,原因嘛你懂的 ...

  2. 【坐在马桶上看算法】算法4:队列——解密QQ号

            新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问QQ号,小哈当然不会直接告诉小哼啦,原因嘛你懂的.所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则. ...

  3. 算法5:队列——解密 QQ 号

    新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问 QQ 号,小哈当然不会直接告诉小哼啦,原因嘛你懂的.所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则.规则是这样的 ...

  4. 啊哈算法之巧用队列解密QQ号

    简述 本算法摘选自啊哈磊所著的<啊哈!算法>第二章第一节的题目——使用队列来解密举例中按照规则加密的QQ号.文中代码使用C语言编写,博主通过阅读和理解,重新由Java代码实现了一遍,意在深 ...

  5. 解密QQ号

    啊哈~ ---------------------------------------------------------- http://bbs.ahalei.com/thread-4489-1-1 ...

  6. 啊哈!算法:解密QQ号

    书中给出的算法有点浪费空间,可以使用循环队列进行改进,这样就不需要使用额外的空间,在原数组的基础上就可以完成解密,代码如下: #include <stdio.h> void decode( ...

  7. 解密QQ——队列

    一.问题引入 小明和小丽同在一个自习室上自习,小明感觉小丽是一个很不错的女孩,于是他鼓足勇气向小丽要QQ号,然而小丽也是个矜持的女孩,当然不会直接告诉他,所以小丽给了小明一串加密过的数字,同时她也告诉 ...

  8. 纪勇破解QQ号问题

    试题描述 来到了新学校,才相处不到一个月,jy就对oyjy一见钟情.于是向oyjy问QQ号.当然身为创(实)新(验)一班的同学,oyjy还是要考考jy.她给了纪勇一个加密后的QQ号,让纪勇解密,解密规 ...

  9. 全面解密QQ红包技术方案:架构、技术实现、移动端优化、创新玩法等

    本文来自腾讯QQ技术团队工程师许灵锋.周海发的技术分享. 一.引言 自 2015 年春节以来,QQ 春节红包经历了企业红包(2015 年).刷一刷红包(2016 年)和 AR 红包(2017 年)几个 ...

随机推荐

  1. 2018年最新Java面试题及答案整理

    基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内部的数据.在 Java 当中,有 3 种修饰符: pub ...

  2. Linux system v 共享内存

    system v 共享内存 #include <sys/types.h> #include <sys/shm.h> int shmget(key_t key, size_t s ...

  3. emacs 窗口控制

    1,调整窗口大小 c-c ^ 窗口变高 c-c } 窗口变宽 c-c { 窗口变窄 2,窗口间移动 ;;这一条语句的作用是让 windmove 在边缘的窗口也能正常运作.举个例子,当前窗口已\\ 经是 ...

  4. 23.Java基础_ArrayList类

    ArrayList类的构造和使用方法 import java.util.ArrayList; public class test { public static void main(String[] ...

  5. Requests 详解

    什么是Requests Requests是用Python语言编写,基于urllib,他比urllib更加方便,可以节约我们的大量工作,完全满足HTTP测试需求

  6. 四,专著研读(K-近邻算法)

    四,专著研读(K-近邻算法) K-近邻算法有监督学习距离类模型, k-近邻算法步骤 计算已知类别数据集中的点与当前点之间的距离 按照距离递增的次序进行排序 选取与当前点距离最小的K个点 确定前k个点出 ...

  7. Python 可执行对象

    Python 可执行对象 eval/repr eval eval 可以执行字符串类型的表达式 (或 compile() 创建的代码对象(code object) ) 并返回执行结果 eval(expr ...

  8. python3.8.0 Django 开发后端接口api 部署到 Linux Centos7上

    经历了两天的时候终于把本地使用python3 django开发的接口API部署到服务器上了,还是记录一下,以免之后忘记,哈哈 注意一点,就是,centos7是基于python2的,我这边默认的是pyt ...

  9. [LeetCode] 11. Container With Most Water 装最多水的容器

    Given n non-negative integers a1, a2, ..., an , where each represents a point at coordinate (i, ai). ...

  10. 基于Django的Rest Framework框架的版本控制

    本文目录 一 作用 二 内置的版本控制类 三 局部使用 四 全局使用 五 示例 源码分析 回到目录 一 作用 用于版本的控制 回到目录 二 内置的版本控制类 from rest_framework.v ...