找到 34423 篇文章,关于编程

Java 实现比特尼排序

AmitDiwan
更新于 2020年7月4日 09:50:29

170 次浏览

在比特尼排序中,比较是按照预定义的顺序(比特尼序列)进行的,不依赖于要排序的数据。让我们来看一个 Java 实现比特尼排序的例子——示例 在线演示public class Demo{    void compare_swap(int my_arr[], int i, int j, int direction){       if ((my_arr[i] > my_arr[j] && direction == 1) || (my_arr[i] < my_arr[j] && direction == 0)){          int temp = my_arr[i];          my_arr[i] = my_arr[j];          my_arr[j] = temp;       }    }    void merge_vals(int my_arr[], int low, int cnt, int direction){ ... 阅读更多

Python 实现设计哈希集合

Arnab Chakraborty
更新于 2020年7月4日 09:48:10

4K+ 次浏览

假设我们想在不使用任何内置哈希表库的情况下设计一个 HashSet 数据结构。它将包含不同的函数,例如:add(x) - 将值 x 插入到 HashSet 中。contains(x) - 检查值 x 是否存在于 HashSet 中。remove(x) - 从 HashSet 中移除 x。如果该值不存在于 HashSet 中,则不执行任何操作。因此,要测试它,先初始化哈希集合,然后调用 add(1), add(3), contains(1), contains(2), add(2), contains(2), remove(2), contains(2)。然后输出将为 true(1 存在),false(2 不存在),true(2 存在),false(2 不存在)…… 阅读更多

Java 实现二分查找(递归)

AmitDiwan
更新于 2020年7月4日 09:47:14

6K+ 次浏览

以下是 Java 中递归二分查找的程序示例——示例 在线演示public class Demo{    int rec_bin_search(int my_arr[], int left, int right, int x){       if (right >= left){          int mid = left + (right - left) / 2;          if (my_arr[mid] == x)          return mid;          if (my_arr[mid] > x)          return rec_bin_search(my_arr, left, mid - 1, x);          return rec_bin_search(my_arr, mid + 1, right, x);       }       return -1;    } ... 阅读更多

Python 实现数据流中第 K 大的元素

Arnab Chakraborty
更新于 2020年7月4日 09:44:48

494 次浏览

假设我们想设计一个类来查找数据流中第 k 大的元素。它是排序顺序中的第 k 大元素,而不是第 k 个不同的元素。KthLargest 类将有一个构造函数,它接受一个整数 k 和一个数组 nums,该数组将包含来自流的初始元素。对于对 KthLargest.add 方法的每次调用,都将返回表示流中第 k 大元素的元素。因此,如果输入类似于 k = 3,初始元素 = [4, 5, 8, 2],然后调用 add(3), add(5), add(10), add(9), add(4)。那么输出将是…… 阅读更多

Java 实现字谜子串搜索

AmitDiwan
更新于 2020年7月4日 09:44:12

182 次浏览

以下是 Java 中字谜子串搜索的示例——示例 在线演示public class Demo{    static final int max_val = 256;    static boolean compare_vals(char my_arr_1[], char my_arr_2[]){       for (int i = 0; i < max_val; i++)       if (my_arr_1[i] != my_arr_2[i])       return false;       return true;    }    static void search_subs(String my_pattern, String my_text){       int pat_len = my_pattern.length();       int txt_len = my_text.length();       char[] count_pat = new char[max_val];       char[] count_txt = new char[max_val];       for ... 阅读更多

C++ 实现数组的度

Arnab Chakraborty
更新于 2020年7月4日 09:43:10

522 次浏览

假设我们有一个非负整数数组 nums,该数组的度实际上是其任何一个元素的最大频率。我们必须找到 nums 的具有相同度的连续子数组的最小可能长度。因此,如果输入类似于 [1, 2, 2, 3, 1],则输出将为 2,这是因为输入数组的度为 2,因为元素 1 和 2 都出现了两次。具有相同度的子数组——[1, 2, 2, 3, 1],[1, 2, 2, 3],[2, ... 阅读更多

Java 实现梳排序

AmitDiwan
更新于 2020年7月4日 09:41:16

199 次浏览

Java 中的梳排序消除了位于列表末尾的较小值,并且逐个消除反转。让我们来看一个例子——示例 在线演示import java.util.Arrays; public class Demo{    void comb_sort(int nums[]){       int len_gap = nums.length;       float shrink_val = 1.3f;       boolean swap = false;       while (len_gap > 1 || swap) {          if (len_gap > 1) {             len_gap = (int)(len_gap / shrink_val);          }          swap ... 阅读更多

C++ 实现统计二进制子串

Arnab Chakraborty
更新于 2020年7月4日 09:41:25

706 次浏览

假设我们有一个字符串 s,我们必须统计具有相同数量的 0 和 1 的连续子串的数量,并且这些子串中的所有 0 和所有 1 都是连续分组的。如果子串出现多次,则计数其出现的次数。因此,如果输入类似于“11001100”,则输出将为 6,因为子串为“1100”、“10”、“0011”、“01”、“1100”、“10”。为了解决这个问题,我们将遵循以下步骤:定义一个大小为 2 的数组 cnt 并用 0 填充它res := 0for 初始化 i := 0,当 i ... 阅读更多

C++ 实现具有交替位的二进制数

Arnab Chakraborty
更新于 2020年7月4日 09:39:16

402 次浏览

假设我们有一个正整数,我们必须检查它是否具有交替位——因此,两个相邻位将始终具有不同的值。因此,如果输入类似于 10,则输出将为 True,因为 10 的二进制表示为 1010。为了解决这个问题,我们将遵循以下步骤:p := n AND 1如果 n < 2,则——返回 truen := n/2当 n 不为零时,执行——c := n AND 1如果 c XOR p 等于 0,则——返回 falsep := cn := n/2返回 true让我们来看下面的实现,以便更好地理解——示例 在线演示#include ... 阅读更多

Java计数排序程序

AmitDiwan
更新于 2020年7月4日 09:39:15

浏览量:148

计数排序统计具有不同键值的对象数量。让我们来看一个例子——注意——以下代码也可以用于负数。示例 在线演示import java.util.*; public class Demo{    static void count_sort(int[] arr){       int max_val = Arrays.stream(arr).max().getAsInt();       int min_val = Arrays.stream(arr).min().getAsInt();       int range = max_val - min_val + 1;       int count[] = new int[range];       int result[] = new int[arr.length];       for (int i = 0; i < arr.length; i++){          count[arr[i] - min_val]++; ... 阅读更多

广告
© . All rights reserved.