有用的算法技巧 1. 正确使用脚本
1。明智地使用下标
下标是非常有用的数字,尤其是在计算或判断某些数字时。或者首先出现类型编号。例如,如果给您一系列字母并要求您猜测这些字母出现了多少次,我们可以使用这些字母作为保留。当遍历字母a时,arr[a]可以加1。也就是arr[a]++;
在使用手写时,不需要判断纸上的字母。
再举个例子:
问题:给定n个无序整数数组arr,并且这些整数的值在0-20之间,你需要在O(n)的时间内完成它时间。困难的是,按从小到大的顺序打印这n个数字。
这道题,如果先得到n个数,然后打印出来,是不可能在O(n)时间内打印出来的。但其值为0-20。我们可以巧妙地利用数组排序。在数组脚本中使用相应的值。如果该数字最先出现,则对应的序列号加1。代码如下:
public void f(int arr[]) {
int[] temp = new int[21];
for (int i = 0; i < arr.length; i++) {
temp[arr[i]]++;
}
//顺序打印
for (int i = 0; i < 21; i++) {
for (int j = 0; j < temp[i]; j++) {
System.out.println(i);
}
}
}
有许多应用程序使用数组排序。当你以后遇到一些问题时,你可能要考虑是否可以使用数组排序来改进。
作者:帅
来源:知乎
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
上一篇:有用的算法技巧2.巧妙利用余数 下一篇:算法数据结构技巧3:交换两个数字
code前端网