1.从1到n整数中1出现的次数
很简单就不用流程图演示了
一句话:两层循环:外层从1~n变化,内层计算每个数字1的个数
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
int NumberOf1Between1AndN_Solution(int n ) {
// write code here
int count=0;
for(int i=1;i<=n;i++)
{
int j=i;
for( j=i;j/10;j/=10)
{
if(j%10==1) count++;
}
if(j==1) count++;
}
return count;
}
2.数组中出现次数超过一半的数字
/**
*
* @param numbers int整型一维数组
* @param numbersLen int numbers数组长度
* @return int整型
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
int MoreThanHalfNum_Solution(int* numbers, int numbersLen) {
// write code here
for (int i = 0; i < numbersLen; i++)
{
int count = 0;
for (int j = 0; j < numbersLen; j++)
{
if (numbers[j] == numbers[i])
count++;
}
int c = count - 1;
if (c>= numbersLen /2 ) return numbers[i];
}
return *numbers;
}
不懂的欢迎讨论
创作不易,感谢观看