首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《剑指offer》– 数组中的逆序对、最小的K个数、从1到n整数中1出现的次数、正则表达式匹配、数值的整数次方

    如果第一个数组的数字小于或等于第二个数组中的数字,则不构成逆序对,如图b所示。每一次比较的时候,我们都把较大的数字从后面往前复制到一个辅助数组中,确保 辅助数组(记为copy) 中的数字是递增排序的。...在把较大的数字复制到辅助数组之后,把对应的指针向前移动一位,接下来进行下一轮比较。...= 0;ii++){ for(int j=0;ji-1;j++){ if(input[j]j+1]){ Integer temp...-1]); } return result; } } 三、从1到n整数中1出现的次数: 1、题目: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?...ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。

    91120

    分别用冒泡法和选择法对10个整数排序_c语言数组从大到小冒泡排序

    冒泡法是相邻元素两两比较,每趟将最值沉底即可确定一个数在结果的位置,确定元素位置的顺序是从后往前,其余元素可以作相对位置的调整。可以进行升序或降序排序。...代码如下(对10个整数进行升序排序): #include int main() { int i,j,t,a[10]={5,4,8,3,6,9,7,222,64,88}; //...排序 for(i=1;ii++) //外循环控制排序趟数,n个数排n-1趟 { for(j=0;jj++) //内循环每趟比较的次数,第j趟比较n-i次 {...代码如下(对10个整数进行升序排序): #include int main() { int i,j,min,t,a[10]={2,4,8,3,6,9,7,222,64,88};...(i=0;ii++) { min=i; //把每次循环的第一个数作为最小值 for(j=i+1;jj++) {

    93570

    【C语言刷题系列】对数字添加逗号

    这意味着我们需要从整数的最低位(最右边)开始,每数到三位数字就插入一个逗号,直到数完整个整数 一种有效的解决办法就是将数字转换为字符,从右向左每次%10得到一位数字转换为字符存储到数组中,再除以10去掉一位数字...其次,要注意每次满三位添加一个逗号至数组,并且只有满3位时才添加逗号。最后,将得到的这个字符数组逆序输出。...';//将每一位转换为对应的字符存入数组 count++; } for (i--; i >= 0; i--) { printf("%c", arr[i]);//逆序输出 } printf...将每一位转换为对应的字符存入数组 count++; } int j = 0;//数组的首部下标 i--; //数组的尾部下标 //因为上面的代码块处理时i多+了1,所以这里...-1才能得到正确的下标 while (j i) { char tmp = arr[j]; arr[j] = arr[i]; arr[i] = tmp; j++; i--;

    6810

    2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标 i + 1 、i - 1 或者 j

    2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。...每一步,你可以从下标 i 跳到下标 i + 1 、i - 1 或者 j : i + 1 需满足:i + 1 < arr.length, i - 1 需满足:i - 1 >= 0, j 需满足:arri...== arrj 且 i !...= j。 请你返回到达数组最后一个元素的下标处所需的 最少操作次数 。 注意:任何时候你都不能跳到数组外面。 来自蔚来汽车。 答案2022-07-13: 存在左跳的可能。宽度优先遍历,层次遍历。...,右,i通过自己的值,能蹦到哪些位置上去 // 宽度优先遍历,遍历过的位置,不希望重复处理 // visited[i] == false:i位置,之前没来过,可以处理 // visited

    72310

    二进制与十进制,八进制,十六进制转换_十进制转十六进制算法

    假设当前数字是N进制,那么: 对于整数部分,从右往左看,第i位的位权等于Ni-1 对于小数部分,恰好相反,要从左往右看,第j位的位权为N-j。...下图演示了如何将二进制整数 1110111100 转换为八进制: 从图中可以看出,二进制整数 1110111100 转换为八进制的结果为 1674。...下图演示了如何将八进制整数 2743 转换为二进制: 从图中可以看出,八进制整数 2743 转换为二进制的结果为 10111100011。...下图演示了如何将二进制整数 10 1101 0101 1100 转换为十六进制: 从图中可以看出,二进制整数 10 1101 0101 1100 转换为十六进制的结果为 2D5C。...下图演示了如何将十六进制整数 A5D6 转换为二进制: 从图中可以看出,十六进制整数 A5D6 转换为二进制的结果为 1010 0101 1101 0110。

    4.2K30

    C语言程序设计之小系统

    输入两个正整数 start 和 end,表示要检查的区间。 2.遍历区间: 对于每个整数 i 从 start 到 end: 检查 i 是否为素数。...输入一个非负整数 N。 2.遍历数字的每一位: 将 N 转换为字符串,以便逐位访问。 对于字符串中的每个字符 digit: 如果 digit 是数字,将其转换为整数并加到 sum 上。...流程图 3.2.6输出指定图形 算法 1.输入参数: 输入一个整数 n,表示图形的边长。 2.绘制图形: 使用嵌套循环: 外层循环控制行数,从 1 到 n。...内层循环控制列数,从 1 到 n。 在每一行中输出 *,形成正方形的边。 3.输出结果: 输出绘制的图形。...这让我意识到,扎实的基础知识是解决问题的关键。同时,团队协作也至关重要,及时的沟通和反馈能够有效提高工作效率。 通过这次课程设计,我学会了如何将理论知识应用于实践,积累了宝贵的项目经验。

    3100

    数组刷题总结,快来检查一下是不是都掌握了吧~

    我们可以观察到只有当行数为第一行以及最后一行,列数为最后一列或第一列时,*才会被打印。...("%d",i); }// 这里初始值是9(因为数组的下标为下标序列减一) 输入数组i和输出数组i互不影响,因为在输入数组中i为上一个数组的局部变量,作用域仅在上一个循环中 return...0; } 4矩阵转置 通过观察转置前后的矩阵,我们可以发现:其i与j的值是交换的 #include int main(){ int m,n; int arr[...; } //完成两个数组的输入 int i = 0; int j = 0; while (i j < m) { if (arr1[i] j])...(数组一样大) 这个题目实际上可以抽象为生活中的例子,如果你有一袋盐和一袋糖,但是你错把他们的容器装错了,如何将他们交换?

    11310

    【蓝桥杯备赛系列 | 简单题】十六进制转八进制、十六进制转十进制、十进制转十六进制 (手撕)

    希望可以帮助到一起备赛的小伙伴们。...0;jj+=3) { String temp = get_string.substring(j, j+3); // 因为这里的对应关系 三对一,实际便是二进制转十进制的关系...字符’0’到’9’的ASCII码值依次为48到57。...以下是一个简单的示例代码,它演示了如何将字符类型的数字转换为整数类型: char c = '5'; int num = c - '0'; System.out.println(num); // 输出结果为...二、十六进制转十进制 (进制转换 字符处理 判断) 资源限制 内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述   从键盘输入一个不超过

    2.6K40

    【小白学C#】浅谈.NET中的IL代码

    Conv.U8 将位于计算堆栈顶部的值转换为 unsigned int64,然后将其扩展为 int64。 Cpblk 将指定数目的字节从源地址复制到目标地址。...Stloc 从计算堆栈的顶部弹出当前值并将其存储到指定索引处的局部变量列表中。 Stloc.0 从计算堆栈的顶部弹出当前值并将其存储到索引 0 处的局部变量列表中。...Stloc.1 从计算堆栈的顶部弹出当前值并将其存储到索引 1 处的局部变量列表中。 Stloc.2 从计算堆栈的顶部弹出当前值并将其存储到索引 2 处的局部变量列表中。...Stloc.3 从计算堆栈的顶部弹出当前值并将其存储到索引 3 处的局部变量列表中。 Stloc.S 从计算堆栈的顶部弹出当前值并将其存储在局部变量列表中的 index 处(短格式)。...Stobj 将指定类型的值从计算堆栈复制到所提供的内存地址中。 Stsfld 用来自计算堆栈的值替换静态字段的值。 Sub 从其他值中减去一个值并将结果推送到计算堆栈上。

    3K20

    【深入浅出C#】章节 2:数据类型和变量:基本数据类型和引用类型

    一、基本数据类型 1.1 整数类型 在C#中,有多种整数类型可供使用。下面将介绍常见的整数类型,包括它们的特点、使用场景以及相应的语法和示例。..."; 字符串常用方法: Substring(startIndex, length):返回从指定索引开始的指定长度的子字符串。 ToUpper():将字符串转换为大写形式。...,并指定数组的长度,例如:numbers = new int[5]; 数组的赋值:通过索引来访问和修改数组中的元素,索引从0开始,例如:numbers[0] = 10; 数组的访问:使用索引访问数组元素...无论是一维数组还是多维数组,它们在处理大量数据和进行矩阵运算等方面都非常有用。 2.4 类型转换 在C#中,类型转换是将一个数据类型的值转换为另一个数据类型的过程。...隐式转换可以在相容类型之间进行,例如,从int到long、从float到double等。

    55510

    C#二维数组初始化概括(新手篇)

    这里介绍C#二维数组初始化,C#数组并不是动态的,你必须自己来把他变成动态结构,除非你使用其他类。C#二维数组初始化,有两种方法。...C#多维数组: (1)数组的声明: int[] a1; //整数类型的一维数组 int[,] a2; //整数类型的二维数组 (2)C#二维数组初始化和声明 int[,] a2=new int[...C#数组并不是动态的,你必须自己来把他变成动态结构,除非你使用其他类。...C#二维数组初始化,有两种方法: 方法1:你可以假设一个初始长度,在对数组添加元素的时候,你都需要对数组做边界检查,如果数组尺寸不够了,你需要创建一个新的数组,然后复制原来的数组到新的数组。...for(int j=0;jj++) { arr[i,j]=(i+1)*10+j+1; } } for(int i=0;ii++) { for(int j=0;j<

    5.1K20
    领券