精华内容
下载资源
问答
  • 1到100共100个数, 从1开始, 每隔1, 2, 3, 4 ... 个数拿走一个数, 一直循环, 最后剩下几? 就是说, 一开始1 拿走, 隔1个数(2), 把3拿走, 再隔2个数(4, 5), 把6拿走, 再隔3个数(7, 8, 9)把10拿走. 到100之后再...
  • PHP输出 每隔两1秒输出一数字

    千次阅读 2010-10-22 16:03:00
    现在我想实现一种效果,每隔1秒输出一数字。(因为PHP一般是等完全运行完之后,再一下输出的)。 for ($i=10; $i>0; $i--) { echo $i.' '; ob_flush(); flush(); sleep(1); } ob_end_...

    现在我想实现一种效果,每隔1秒输出一个数字。(因为PHP一般是等完全运行完之后,再一下输出的)。

    上面这段代码,可以在FF下,每隔一秒输出一个数字:

    10

    隔1秒

    9

    隔1秒

    8

    ... ...

    ... ...

     

    但是在IE下面,还是一下子全部输出来。

    原来是:

    一些Web服务器或浏览器的output_buffering默认是4069字符或者更大,即输出内容必须达到4069字符服务器才会flush刷新输出缓冲,为了确保flush有效,最好在ob_flush()函数前有以下语句:
    print str_repeat(" ", 4096);

    也就是:

    这下在IE下也可以实现一个一个动态输出了

    展开全文
  • * 有一个数组a[N],要求每隔两个数删掉一个,到末尾则又循环到开头继续进行 * 求最后一个被删掉的的原始下标位置 * * 例如,一个数组:{0, 1, 2, 3, 4, 5, 6, 7} * 0->1->2(第一遍,删除)-...

    源代码中有较详细的注释,这里就不多写了。

    /**
     * 有一个数组a[N],要求每隔两个数删掉一个数,到末尾则又循环到开头继续进行
     * 求最后一个被删掉的数的原始下标位置
     * 
     *  例如,一个数组:{0, 1, 2, 3, 4, 5, 6, 7} 
     *  0->1->2(第一遍,删除)->3->4->5(第一遍,删除)->6->7->
     *  0(第二遍,删除)->1->2(已删除)->3->4(第二遍,删除)->5(已删除)->6->7...
     *  循环直到数组中最后一个元素被删除
     *  
     *  当然,这里并未真正删除元素,只是用标志位表示已经被删除
     * 
     * @author Wll
     *
     */
    public class DeleteEveryTwo {
    	public static void main(String[] args) {
    		int index = getLastDeletedIndex(8);
    		System.out.println("The last index deleted is " + index);
    	}
    
    	/**
    	 * 
    	 * @param a
    	 *            数组长度
    	 * @return 最后被删除的数的原始下标
    	 */
    	public static int getLastDeletedIndex(int len) {
    		if (len <= 0) { // 如果数组长度不满足要求则返回 -1
    			return -1;
    		}
    
    		int[] arr = new int[len];
    		for (int i = 0; i < len; i++) { // 初始化每个元素的值为当前下标
    			arr[i] = len;
    		}
    
    		final int DELFLAG = len + 1; // 删除标志位
    		int currentSize = len; // 记录数组当前有效长度(即未被置为删除标志的元素个数),最后变为 0
    		final int STEP = 2; // 步长
    		int count = 0; // 步长计数
    		int lastDelIndex = 0; // 记录最后被删除的元素的下标
    		int i = 0; // 循环下标
    
    		while (currentSize != 0) {
    			if (arr[i] != DELFLAG) { // 判读当前元素是否等于删除标志
    				if (count++ == STEP) { // 当步长计数满足步长则
    					arr[i] = DELFLAG; // 将元素置为删除标志位
    					lastDelIndex = i; // 记录该处下标
    					currentSize--; // 有效数组长度减 1
    					count = 0; // 步长计数归零
    					System.out.println("Deleted index is " + i % len);
    				}
    			}
    			i = (i + 1) % len; // 下标取余实现循环下标
    		}
    		return lastDelIndex;
    	}
    }


    展开全文
  • 等会看题目你会发现这道题目其实是约瑟夫环的一应用,使用数据结构中的链表。由于本人能力有限,中间遇到了不少问题,因此代码中夹杂了一些博主对于该题目的理解。 该部分的代码与解答参考于下面的博客1与博客2。...

    这是华为16年的面试题,网上有很多关于此题目的解析,在此我选择了最好理解记忆的一种,分享在此给大家。等会看题目你会发现这道题目其实是约瑟夫环的一个应用,使用数据结构中的链表。由于本人能力有限,中间遇到了不少问题,因此代码中夹杂了一些博主对于该题目的理解。
    该部分的代码与解答参考于下面的博客1博客2。源代码中有一些问题,我进行了修改,代码所有权归原作者所有。

    除此之外,该面试编程题来自于牛客网,本人分享在此仅供大家学习与交流用,不担负任何法律责任。博文版权归博主所有,转载需注明出处。

    问题描述

    有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。

    输入描述:

    每组数据为一行一个整数n(小于等于1000),为数组成员数,如果大于1000,则对a[999]进行计算。

    输出描述:

    一行输出最后一个被删掉的数的原始下标位置。

    输入例子:

    8

    输出例子:

    6

    程序与代码

    //约瑟夫环:每隔两个循环删除数组元素,求最后删除者的下标问题
    #include <iostream>
    
    using namespace std;
    
    struct node
    {
        int data;
        node *next;
    };
    
    const int N = 1000;
    //const int null=0;
    
    int main()
    {
        int num;
        cin>>num;
        if(num>1000)
            num = 1000;
        //初始化node结构,生成头节点
        node *head = new node;
        head->data = 0;
        head->next = NULL;
        node *p = head; //成环
        //初始化数据
        for(int i=1;i<num;i++)  //注意初始化节点已经为0,下一个节点从1开始
        {
            node *tmp = new node;
            tmp->data = i;
            tmp->next = NULL;
            head->next = tmp;
            head = head->next; //上一个节点是下一个节点的前节点    
            //cout <<head->data<<endl;      
        }
        head->next = p; //最后一个地址指向头节点,成环
    
        while(p!=p->next) //如果没有循环到初始位置
        {
            p->next->next = p->next->next->next;//将p的向下第二个指向位置改为指向第三个,替换第二个
            p = p->next->next;
        }   
        cout << p->data <<endl;   //最后即为想要的结果
        return 0;
    }
    展开全文
  • 有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个,到末尾时循环至开 头继续进行,求最后一个被删掉的的原始下标位置。以8个(N=7)为例: {0,1, 2, 3, 4, 5, 6, 7},0->1->2(删除)->3->4->5&...

    题目描述
    有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开
    头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例: {0,1, 2, 3, 4, 5, 6, 7},0->1->2(删除)->3->4->5<(删除)->6->7->0(删除),如此循环直到最后一个数被删除。

    输入描述:
    每组数据为一行一个整数n(小于等于1000),为数组成员数,如果大于1000,则对a[999]进行计算。
    输出描述:
    一行输出最后一个被删掉的数的原始下标位置。

    示例1 输入输出示例仅供调试, 后台判题数据一般不包含示例
    输入
    8
    输出
    6

    解题思路:
    使用队列;首先将数组里面的元素全部放到队列中,在队列长度不等于1的前提下进行循环操作:定义一个计数器count,每一次把队首元素添加到队尾,出一次,count++一下,当count为2时,直接将队首元素出队即可。最后剩下的一个元素就是最后删除的一个元素。
    代码实现:

    import java.util.LinkedList;
    import java.util.Queue;
    import java.util.Scanner;
    
    public class Demo3 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            while (scanner.hasNext()) {
                int n = scanner.nextInt();
                int[] arr = new int[n];
                for (int i = 0; i < arr.length; i++) {
                    arr[i] = i;
                }
                System.out.println(delete(arr));
            }
            scanner.close();
        }
    
        public static int delete (int[] arr) {
            Queue<Integer> queue = new LinkedList<>();
            for (int i = 0; i < arr.length; i++) {
                queue.add(arr[i]);
            }
            while (queue.size() != 1) {
                int count = 0;
                while (count != 2) {
                    queue.add(queue.peek());
                    queue.poll();
                    count++;
                }
                queue.poll();
            }
            return queue.element();
        }
    }
    
    展开全文
  • 给定两个整数A和B,其表示形式是:个位开始三位用逗号","开。 现在请计算A+B的结果,并以正常形式输出。 输入: 输入包含多组数据数据,组数据占一行,由两个整数A和B组成(-10^9 输出: ...
  • 输入描述: ...这道题使用ArrayList能够很轻松的解决,每隔两个数删除,就是删除顺序表中i=i+2的,又由于循环所以要%顺序表的长度。 然后利用顺序表的特性,达到目的 import java.util.*; public class ...
  • Python 字符串每隔两个加入空格

    千次阅读 2020-07-28 14:08:33
    方法一 text = "C33CF00F0101000101000000000406B90F80040401020202030204020000000000000000B382AD10" text_list = re.findall(".{2}",text) new_text = " ".join(text_list) print(new_text) ...
  • 比如说我数据库里面的有两列分别是时间和数字,想要查询初始时间”2012-07-11 01:00:00“以后每两个小时的数据之和。希望查询结果如下: 2012-07-11 03:00:00 14 2012-07-11 05:00:00 2 2012-07-11 07:00:00 25 。...
  • 题目描述:给定两个整数A和B,其表示形式是:个位开始三位用逗号","开。现在请计算A+B的结果,并以正常形式输出。输入:输入包含多组数据数据,组数据占一行,由两个整数A和B组成(-10^9 ,B ^9)。输出...
  • 例如:长度为12的字符串,伪装成蓝牙mac地址; String mac = "000000000000"; String regex = "(.{2})";... mac = mac.replaceAll(regex,"$1:"); mac = mac.substring(0,mac.length() - 1); Sys...
  • 给定两个整数A和B,其表示形式是:个位开始三位用逗号","开。 现在请计算A+B的结果,并以正常形式输出。 输入: 输入包含多组数据数据,组数据占一行,由两个整数A和B组成(-10^9 )。 输出: 请...
  • js——每隔1秒打印数字

    千次阅读 2019-08-14 17:25:05
    方法一: 自执行函数 for (var i=0; i<5; i++) { (function (i) { setTimeout(() => console.log(i), 1000*i) })(i) } 方法二: es6块级作用域let for (let i=0;... (function (...
  • 数组中循环隔两数删除一个数

    千次阅读 2010-09-25 17:33:00
    要求每隔个数删掉一个数,到末尾时循环至开头继续进行,求最后一被删掉的的原始下标位置。 以7个数为例: {0,1,2,3,4,5,6,7} 0-->1-->2(删除)-->3-->4-->5(删除)-->6-->7-->0(删除),如此循环...
  • 新出生的X,半分钟之后吃掉1个Y,并且,从此开始每隔1分钟吃1个Y。 现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。 如果X=10,Y=90 呢? 本题的要求就是写出这种初始条件下,60分钟后Y
  • js数组如何每隔元素添加一元素 var typeData = []; for(var i=0,len=types.length;i&lt;len;i+=3){ typeData.push(types.slice(i,i+3)); } typeData.forEach(item =&gt; { ...
  • C/C++输入一行每隔空格一数据

    万次阅读 多人点赞 2016-09-30 16:49:24
    题设让先输入数据个数,再另起一行,每隔空格输入一整数。单如果题设仅让输入一行数据,空格隔开,并不知道数据个数,那怎么编程呢?
  • 编号为1的人开始,按顺时针方向每隔一 人选出一个,剩下的人重新围成一圈,如此循环直到剩下两人,这剩下的两人就是幸运儿。 如果你想成为最后两个幸运儿,请问开始时应该站在什么位置?(3<=n<=50) 输入:开始时...
  • 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出"1 9 9 0"。 输入 一个四位数 输出 增加空格输出 样例输入 1990 样例输出 1 9 9 0 来源/分类 C语言 ...
  • 要显示如下格式的数字,即数字的金钱表示法:小数部分保留位小数,整数部分每隔三位使用一“,”分隔 代码如下: //保留位小数并且整数部分三位一逗号分隔符的数字金钱标准表示法: //这里假设我们即不...
  • 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出"1 9 9 0"。 输入 一个四位数 输出 增加空格输出 样例输入 1990 样例输出 1 9...
  • 实现原理就是子线程实现一死循环,每隔两秒给主线程发送一消息,主线程在接收到消息时更改控件状态 代码: //这方法可以实现文本每隔两秒就改变一次, public void textTask(){ final android.os.Handler ...
  • cron和crontab命令详解 crontab 分钟、小时、每天、每周、月、每年定时执行 crontab5分钟执行一次 cron机制 cron可以让系统在指定的时间,去执行某个指定的工作,我们可以使用crontab指令来管理cron机制 ...
  • Title ... arr=[1,2,3,4,5,6,7,8,9]; i=0; var t=setInterval('show()',2000); function show() { $("#time").append(arr[i]); i=i+1; //如果超过数组长度,清除定时器 if(i>arr.lengt
  • 要求每隔个数删掉一个数,到末尾时循环至开头继续进行,求最后一被删掉的的原始下标位置。以7个数为例:{0,1,2,3,4,5,6,7} 0-->1-->2(删除)-->3-->4-->5(删除)-->6-->7-->0(删除),如此循环直到最后一个数...
  • js 每隔4字符加空格

    万次阅读 2018-03-02 10:25:38
    // 每隔4字符加空格间隔 function replaceStr(str) { return str.replace(/(.{4})/g,'$1 '); }
  • java数字每隔三位加逗号

    千次阅读 2017-07-18 10:11:39
    说明:将float类型的数据转换成以3位逗号开的字符串,并且保留位有效数字  public static String formatTosepara(float data) { DecimalFormat df = new DecimalFormat("#,###.00");  return df.format...
  • 由于工作中需要对xml文件中的某个字段的一串16进制进行分组转化处理,所以写了下面两个脚本,直接贴出脚本文件内容。 #!/usr/bin/python # -*- coding: utf-8 -*- #Function:将userlocation字段按16进制表示的位数...
  • ×××××××××××××××××××××××××××××××× “约瑟夫环:每隔两个循环删除数组元素,求最后删除者的下标问题”Sailor_forever sailing_9806@163.com 转载请注明...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,000,377
精华内容 400,150
关键字:

从1开始每隔两个数