上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 33 下一页
摘要: 创建ArrayList 不指定初始大小 List<String> list = new ArrayList<>(); 调用无参构造方法,创建一个初始容量为10的空列表 private static final int DEFAULT_CAPACITY = 10; private static fin 阅读全文
posted @ 2024-07-13 23:15 _Sylvan 阅读(35) 评论(0) 推荐(0)
摘要: ArrayDeque 又实现了 Deque 接口(Deque 又实现了 Queue 接口) public class ArrayDeque<E> extends AbstractCollection<E> implements Deque<E>, Cloneable, Serializable {} 阅读全文
posted @ 2024-07-13 23:14 _Sylvan 阅读(28) 评论(0) 推荐(0)
摘要: 自定义泛型 class MyArrayList<E> { private Object[] elementData; private int size = 0; public MyArrayList(int initialCapacity) { this.elementData = new Obje 阅读全文
posted @ 2024-07-13 23:14 _Sylvan 阅读(32) 评论(0) 推荐(0)
摘要: 单调队列 239. 滑动窗口最大值 int *maxSlidingWindow(int *nums, int numsSize, int k, int *returnSize) { *returnSize = numsSize - k + 1; int *res = (int *) malloc(s 阅读全文
posted @ 2024-02-11 18:17 _Sylvan 阅读(52) 评论(0) 推荐(0)
摘要: 滑动窗口 209. 长度最小的子数组 int min(int a, int b) { return a > b ? b : a; } int minSubArrayLen(int target, int *nums, int numsSize) { int res = 0x7fffffff; for 阅读全文
posted @ 2024-02-09 14:02 _Sylvan 阅读(32) 评论(0) 推荐(0)
摘要: 构建前缀信息 303. 区域和检索 - 数组不可变 构建前缀和数组,快速计算子数组区间和 class NumArray { public int[] prefixSum; public NumArray(int[] nums) { prefixSum = new int[nums.length + 阅读全文
posted @ 2024-02-08 00:47 _Sylvan 阅读(50) 评论(0) 推荐(0)
摘要: 子数组最大累加和 53. 最大子数组和 返回子数组最大累加和 返回子数组的开始和结束位置 int max(int a, int b, int c) { int d = a > b ? a : b; return d > c ? d : c; } // 必须经过mid和mid+1 int maxCro 阅读全文
posted @ 2024-02-07 17:38 _Sylvan 阅读(50) 评论(0) 推荐(0)
摘要: 三维动态规划 474. 一和零 多维费用背包 int zeros; int ones; int len; void count(char *s) { zeros = 0; ones = 0; int l = strlen(s); for (int i = 0; i < l; ++i) { if (s 阅读全文
posted @ 2024-02-01 15:51 _Sylvan 阅读(73) 评论(0) 推荐(0)
摘要: 二维动态规划(下) 115. 不同的子序列 // 自底向上 int numDistinct(char *s, char *t) { const int MOD = 1e9 + 7; int lenS = strlen(s); int lenT = strlen(t); // dp[i][j]表示在s 阅读全文
posted @ 2024-01-29 21:22 _Sylvan 阅读(38) 评论(0) 推荐(0)
摘要: 二维动态规划 64. 最小路径和 int min(int a, int b) { return a > b ? b : a; } // 从(0,0)到(i,j)的最小路径和,只能向右或向下移动 int recursive(int **grid, int i, int j) { if (i == 0 阅读全文
posted @ 2024-01-28 18:56 _Sylvan 阅读(57) 评论(0) 推荐(0)
摘要: 最大公约数 // 最大公约数,时间复杂度O((logn)^3) int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); } // 最小公倍数 int lcm(int a, int b) { return a / gcd(a, b) * b 阅读全文
posted @ 2024-01-23 01:39 _Sylvan 阅读(53) 评论(0) 推荐(0)
摘要: 一维动态规划 509. 斐波那契数 int *dp; // 自顶向下记忆化搜索,时间复杂度O(n) int recursive(int n) { if (n == 0)return 0; if (n == 1) return 1; // 若之前计算过就直接返回 if (dp[n] != -1) re 阅读全文
posted @ 2024-01-22 23:57 _Sylvan 阅读(47) 评论(0) 推荐(0)
摘要: Top100(下) 栈 20. 有效的括号 bool isValid(char *s) { int len = strlen(s); if (len % 2 == 1) return false; // 符号栈 char *stack = (char *) malloc(sizeof(char) * 阅读全文
posted @ 2024-01-20 00:56 _Sylvan 阅读(17) 评论(0) 推荐(0)
摘要: 力扣返回二维数组 int **spiralMatrix(int m, int n, struct ListNode *head, int *returnSize, int **returnColumnSizes) { // 二级指针模板 int **res = (int **) malloc(siz 阅读全文
posted @ 2024-01-19 00:33 _Sylvan 阅读(33) 评论(0) 推荐(0)
摘要: Top100(中) 二叉树 94. 二叉树的中序遍历 int *res; void inorder(struct TreeNode *root, int *returnSize) { if (root == NULL) return; // 左根右 inorder(root->left, retur 阅读全文
posted @ 2024-01-17 01:31 _Sylvan 阅读(18) 评论(0) 推荐(0)
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 33 下一页