关键词:
题目:
三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他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( 查看详情