数据结构和算法 IP属地:上海

文章 关注 粉丝 访问 贡献
 
共 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...
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...
如果遇到左括号,比如 ''''''''('''''''',''''''''['''''''',''''''''{'''''''' ,栈顶元素就出栈,然后判断左括号和出栈的元素是否相...
i++) { // 如果栈不为空,并且当前元素比栈顶元素大 while (!stk.empty() && height[i] > height[stk.top()]) { int index = stk.top(); stk.pop();// 栈顶元素出栈。stk = [] for i, num in enumerate(height): # 如果栈不为空,并且当前元素比栈顶元素大 w...
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...
// 记录最大长度 stack<int> stk;// 栈 stk.push(-1);// 先把-1压栈 for (int i = 0; i < s.length(); i++) { if (s[i] == ''''''''('''''''') { stk.push(i);// 遇到左括号,下标压栈 } else { ...
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...
定义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的...
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 -...
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...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部