java 如何count 数字出现的次数啊? 还有就是这个啥意思啊?怎么做呢? 来人帮帮忙啊! 谢谢啦

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 如何count 数字出现的次数啊? 还有就是这个啥意思啊?怎么做呢? 来人帮帮忙啊! 谢谢啦相关的知识,希望对你有一定的参考价值。

意思就是 如何return 一个50以内的random数组中 10到20 的所有数,然后计算10到20的数的出现次数。

Takes the array created in item#5, and counts how many times each number occurred in the array, and then print the result.
For example: if the given array is 12, 11, 15, 12, 11, 12 then the output should be
11 occurs = 2
12 occurs = 3
12 occurs = 1

这个有点迷糊:
Create an array of 256 characters , and read a message character by character from keyboard and store them in the array up to 256 symbols。The method should return number of the characters stored in the array.
我的code:
public static void main(String[] args)

int [] numarray= new int [50];
for(int i=0;i<numarray.length;i++)

numarray[i]=(int)(Math.random()*50);

count(numarray);

displaycount(count);


public static void count(char[] numarray)

int [] count= new int [50];
for(int i=0;i<numarray.length,i++)
count[numarray[i]-'10']++;


public static void displaycount(int[] count)

for(int i=0;i<count.length;i++)

if ((i+1)%10==0)
System.out.println(count[i] +"h "+(char)(i+'0'));
else
System.out.print(count[i] +"h "+(char)(i+'0')+" ");


里面问题可能较多,希望谁写个正确的,但思路差不多和这个一样的,谢谢啦

Create an array of 256 characters , and read a message character by character from keyboard and store them in the array up to 256 symbols。The method should return number of the characters stored in the array.
这个是让你统计实际放入数组的字符个数呢。

Takes the array created in item#5, and counts how many times each number occurred in the array, and then print the result.
For example: if the given array is 12, 11, 15, 12, 11, 12 then the output should be
11 occurs = 2
12 occurs = 3
12 occurs = 1

----------------------
public class Cat

public static void main(String[] args)
int[] numarray = new int[50];
int[] count = new int[11]; //0~10, 1~11, 2~12

for (int i = 0; i < numarray.length; i++)
numarray[i] = (int) (Math.random() * 50);


count(numarray, count);
displaycount(count);


public static void count(int[] numArray, int[] count)
for(int i = 0; i < numArray.length;i++)

if(numArray[i] == 20)
count[10] = count[10]+1;
else if(numArray[i] >= 10 && numArray[i] < 20)
count[numArray[i]%10] = count[numArray[i]%10] + 1;





public static void displaycount(int[] count)
for (int i = 0; i < count.length; i++)
System.out.println((i + 10) + ": " + count[i]);




即可追问

Create an array of 256 characters , and read a message character by character from keyboard and store them in the array up to 256 symbols. 跟之前要count的数字有关系吗? 用ASCII去对比吗? 不知道怎么对比啊!
printOneInLine(parameters)
Pass the array created in item 7 to print each word of the message in a line.
我想print一个表,因为还有十个随机数,倒数 。可是现在的数字是一路下去求赐教!

追答

1) 没有关系,这个是你定义了一个256长度的字符数组,然后你输入了10个字符,就返回10, 输入15就返回15;
2)不明白

追问

就是像一个表一样,本来是
number
1
2
3
4
5
reverse
5
4
3
2
1。
我想让他成为
number reverse
1 5
2 4
3 3
4 2
5 1

追答

存在数组里面的还是? 如果是数组
int nums[] = 1, 2, 3, 4, 5;

for(int i = nums.length -1; i >= 0; i--)
System.out.println(nums[i]);



即可。数组, list都可以这样处理。

参考技术A //假设你要判定的数字是int[] arr;
int[] temp = new int[10];
for(int i = 0;i<arr.length;i++)
if(arr[i]>=10 && arr[i]<20)
temp[i-10]++;


最后这个数组temp中的值就是arr中10-20出现的次数了。
参考技术B import java.util.Random;
public class RandomTest
int count=0;
public static void main(String[] args)
new RandomTest().count(50);

public int count(int num)
int[] numarray=new int [num];
Random rd = new Random();
for(int i=0;i<numarray.length;i++)
numarray[i]=rd.nextInt(num);
if (numarray[i]<=20&&numarray[i]>=10)
count++;
System.out.println(numarray[i]);


return count;

剑指Offer数组中出现次数超过一半的数字 Python版

  • 题目描述

    给定一个数组,如果这个数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字;如果不存在,则返回0。

  • 思路分析

    对于一个数组而言,满足题目要求的数字最多只有一个,可以采用数字相互抵消的思想。在遍历数组时,储存两个值now和count,now是当前数字,count是该数字的标记。当下一个数字与now相等时,标记count的值加1,如果不相等,则减1;当标记count的值变为0时,则将下一个数字的值用now来存储,并将count的值置为1,继续遍历完数组。

    如果数组中存在出现次数超过数组长度一半的数,那遍历过后now中存储的即为这个数字;

    如果数组中不存在满足要求的数,最后now中也会存储一个不符合要求数值。

    所以,在算法的最后,要重新遍历一遍数组,对变量now中的值进行计数并判断,从而验证结果。

  • 解法

    根据思路编写代码,时间复杂度为O(N)

    

 1 def HalfLengthSolution(self, numbers):
 2         #判断极端情况
 3         if len(numbers) == 0:
 4             return 0
 5         #初始化记录变量now和count
 6         count = 1
 7         now = numbers[0]
 8         length = len(numbers)
 9         #遍历数组,采用抵消的方法,寻找结果
10         for i in range(1,length):
11             if count == 0:
12                 now = numbers[i]
13                 count += 1
14             else:
15                 if numbers[i] == now:
16                     count += 1
17                 else:
18                     count -= 1
19         #验证now中存储的值是否符合题目要求
20         test = 0
21         for item in numbers:
22             if item == now:
23                 test += 1
24         if test > length/2:
25             return now
26         else:
27             return 0

 

以上是关于java 如何count 数字出现的次数啊? 还有就是这个啥意思啊?怎么做呢? 来人帮帮忙啊! 谢谢啦的主要内容,如果未能解决你的问题,请参考以下文章

数组中出现次数超过一半的数字

python如何将列表中只出现一次的数字输出

剑指Offer数组中出现次数超过一半的数字 Python版

数组中出现次数超过一半的数字 --剑指offer

有一万条字符串,要找出前10条出现次数最多的,该如何解决

第七章第三题(计算数字的出现次数)(Count occurrence of numbers) - 编程练习题答案