找到 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 实现 HashSet

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 的连续子数组的最小可能长度,该子数组与 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 并将其填充为 0res := 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/2while 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.