共 513 篇文章 |
|
public: vector<vector<int>> combinationSum2(vector<int> &candidates, int target) { vector<vector<int>> ans;void dfs(int **ans, int *path, int *candidates, int candidatesSize, int target, int start, int *returnSize, int **returnColumnSizes, int pathCount) { if (tar... 阅2 转0 评0 公众公开 24-05-14 14:48 |
[原]被面试官羞辱。。。 int **combinationSum(int *candidates, int candidatesSize, int target, int *returnSize, int **returnColumnSizes) { int **ans = malloc(150 * sizeof(int *));// 返回的结果集 int *path = malloc(30 * sizeof(int));// *returnSize = 0; *returnColumnSizes = malloc(150 * sizeof(int)); dfs(ans, path, candidates, c... 阅1 转0 评0 公众公开 24-05-13 14:48 |
如果遇到左括号,比如 ''''''''('''''''',''''''''['''''''',''''''''{'''''''' ,栈顶元素就出栈,然后判断左括号和出栈的元素是否相... 阅1 转0 评0 公众公开 24-05-09 09:48 |
i++) { // 如果栈不为空,并且当前元素比栈顶元素大 while (!stk.empty() && height[i] > height[stk.top()]) { int index = stk.top(); stk.pop();// 栈顶元素出栈。stk = [] for i, num in enumerate(height): # 如果栈不为空,并且当前元素比栈顶元素大 w... 阅1 转0 评0 公众公开 24-05-07 09:48 |
public void sortColors(int[] nums) { int left = 0;// 交换数组中的两个数字private void swap(int[] nums, int i, int j) { int tmp = nums[i]; nums[i] = nums[j]; nums[j] = tmp;}void sortColors(int *nums, int numsSize) { int left = 0;def sortColors(self, nums: List[int]) -> None: # left 是0的右边界,rig... 阅1 转0 评0 公众公开 24-05-06 09:45 |
// 记录最大长度 stack<int> stk;// 栈 stk.push(-1);// 先把-1压栈 for (int i = 0; i < s.length(); i++) { if (s[i] == ''''''''('''''''') { stk.push(i);// 遇到左括号,下标压栈 } else { ... 阅7 转0 评0 公众公开 24-04-30 09:48 |
int m = heightMap.length;public: int trapRainWater(vector<vector<int>> &heightMap) { struct TupleCompare { bool operator()(const tuple<int, int, int> &a, const tuple<int, int, int> &b) const { return get<2>(a) > get<2>(b);priority_q... 阅4 转0 评0 公众公开 24-04-29 09:48 |
定义dp[i]表示 i 个节点构成的二叉搜索树个数,当 i 等于 1 的时候只有一种情况。当左子节点个数为 0 的时候,构成的二叉搜索树就是右子节点构成的个数,所以我们这里让dp[0]也等于 1 。dp[0] = dp[1] = 1;dp[i] += dp[j] * dp[i - j - 1];def numTrees(self, n: int) -> int: dp = [0] * (n + 1) dp[0] = dp[1] = 1 # 节点为0和1的... 阅4 转0 评0 公众公开 24-04-28 09:51 |
for (int &num: nums)// 遍历所有元素 if (index == 0 || num > nums[index - 1])// 是否递增 nums[index++] = num; return index; }C:def removeDuplicates(self, nums: List[int]) -> int: index = 0 for num in nums: # 遍历所有元素 if index == 0 or num > nums[index -... 阅1 转0 评0 公众公开 24-04-27 09:48 |
struct ListNode *removeNthFromEnd(struct ListNode *head, int n) { int len = length(head, n);def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]: # 获取链表的长度,从后往前数,到第n+1个节点的时候把倒数第n个节点删除。def length(node: ListNode, n: int) -> int: if not node... 阅3 转0 评0 公众公开 24-04-25 09:36 |