课堂练习-找水王

小小d程序猿 小小d程序猿     2022-08-28     455

关键词:

题目:

三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

 

设计思想:

删除两个不同的ID(不管是否包含水王的ID),那么,在剩下的ID列表中,水王ID出现的次数仍然超过总数的一半。可以通过不断重复这个过程,把ID列表中的ID总数降低,从而得到水王ID

package shuiwang;

import java.util.Scanner;

public class shuiwang {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		        Scanner sca=new Scanner(System.in);
		        System.out.println("请输入帖子总数:");
		          int count=sca.nextInt();
		         int a[]=new int[count];
		         
		         int i,j=1,sw;
		        System.out.println("请分别输入帖子ID:");
		        for(i=0;i<count;i++)
		        {
		            a[i]=sca.nextInt();
		        }
		        sw=a[0];
		        for(i=1;i<count;i++)
		        {
		           if(sw!=a[i])
		           {
		                j=j-1;
		                if(j<=0)    
		                {
	                    sw=a[i+1];    
		                   j=1;     
		                    i++;
		                }
		           }
		           else
		           {
		                sw=a[i];
		                j=j+1;
		            }
		        }
		        System.out.println("水王ID是 "+sw);
	   }
	}

 实现截图:

 

个人总结:

在学习过程中我们要学会换一种思路去思考问题,突破常规的想法,可以找到更加高效的算法。

课堂练习-找水王

三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果你有... 查看详情

课堂练习——找水王

  题目:三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果你有... 查看详情

课堂练习找水王

三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果你有一张当前论... 查看详情

课堂练习-找水王(代码片段)

题目UNIN队设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果你有一张当前... 查看详情

课堂练习之找水王

寻找水王的思想是:假设所有的ID不同且都是数字。因为水王的ID超过一半,遍历所有ID,只要是不同的ID就无视,那么最后剩下来的ID就是水王了。 #include<iostream.h>#include"stdlib.h"intmain()   intlength;   in... 查看详情

课堂测验-找水王(代码片段)

设计思想:  因为水王是每一贴必回,那么他的总数站在所有总数的一半以上,又因为这是一个贴吧的数据库,那么他的数据很多很多,这是一个大数据。  从基于他是个大数据,那么肯定误删很多东西,那么我们姑且将一... 查看详情

找水王(代码片段)

publicclassBeanpublicintnumber;publicStringid;publicStringname;publicStringcontent;publicBean(intnumber,Stringid,Stringname,Stringcontent)this.number=number;this.id=id;this.name=name;this.content=co 查看详情

找水王

设计思想:依次查看id,不相同舍弃,相同则累计数量,直到结束为止。源代码:publicclassFind{publicstaticvoidmain(String[]args){int[]n={1,2,1,2,3,4,5,6,7,6,5,5,4,5,8,5,9};System.out.println("水王是"+find(n));}publicstaticintfind(intp[]){inta=0 查看详情

找水王

设计思想:遍历一遍ID列表,进行两两比较如两个ID不同就都删掉如果相同,出现这个ID的次数加一水王的帖子超过一半,遍历到最后剩下的只有水王的ID实现数据 :1,2,3,4,5,6,7,8,9,8,8,5截图:  代码实现:#include<iostream&g... 查看详情

找水王(代码片段)

 找到一个发帖数超过帖子数目一半的用户“水王”设计思想:二分之一的思想,因为发帖数超过一半,所以按顺序走ID,把前后不同的两个ID都消除,name剩下的就是“水王”的ID因为这样想:如果帖子的顺序是:... 查看详情

找水王

 三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果你有一张当... 查看详情

个人项目4——找水王

设计思想:遍历一遍ID列表,进行两两比较如两个ID不同就都删掉如果相同,出现这个ID的次数加一水王的帖子超过一半,遍历到最后剩下的只有水王的ID实现数据 :8,9,8,7,8,1,2,5,4,8,8,5截图: 代码实现:#include<iostream>usin... 查看详情

找水王(代码片段)

UNIN队设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果你有一张当前论坛... 查看详情

找水王(发帖数目超过总体一半)(代码片段)

  三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果... 查看详情

课堂练习

统计空格数流程图:火车头Jackson图:  查看详情

课堂练习

查看详情

课堂练习

查看详情

课堂练习

课堂练习1:SwtichTest: publicclassSwitchTest{ publicstaticvoidmain(String[]args){  Sizes=Size.SMALL;  Sizet=Size.LARGE;  //s和t引用同一个对象?  System.out.println( 查看详情