算法
sinat_16045111
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指3--连续子数组的最大和2
第一种解法,太暴力,而且测试用力不能全部通过: class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector * @return int整型vector */ vector<int> FindGreatestSumOfSubArray(vector<int>& array原创 2022-05-08 23:49:25 · 264 阅读 · 0 评论 -
剑指2--连续子数组的最大和1
class Solution { public: int FindGreatestSumOfSubArray(vector<int> array) { int size = array.size(); int sum[size]; sum[0] = array[0]; int max1 = sum[0]; for (int i = 1; i < size; i++) { sum[原创 2022-05-08 23:43:50 · 250 阅读 · 0 评论 -
剑指--找出两个二叉树节点的最小父节点
方法1: class Solution { public: /** * * @param root TreeNode类 * @param o1 int整型 * @param o2 int整型 * @return int整型 / void push_vec(TreeNode root, int o1, vector& path1, bool& find1) { if (root == nullptr || (find1)) { return; } if (!find1 && r原创 2022-05-08 15:07:06 · 592 阅读 · 0 评论 -
快速排序quicksort
快速排序采用的是分治法,是一种不稳定的算法,即相同元素的顺序会变化,其平均时间复杂度为O(nlogn) 可以通过设立随机key,避免已排好序的情况. 1)设置两个变量I、J,排序开始的时候:I=0,J=N-1; 2)以第一个数组元素作为关键数据,赋值给key,即 key=A[0]; 3)从J开始向前搜索,即由后开始向前搜索(J=J-1即J–),找到第一个小于key的值A[j],A[j转载 2017-03-18 19:26:27 · 255 阅读 · 0 评论 -
leecode 练习--树
leetcode 数据结构原创 2017-03-19 12:02:35 · 313 阅读 · 0 评论 -
01背包问题 C++
#include<stdio.h> #include<stdlib.h> #include<iostream> #include<math.h> #include<algorithm> #include<vector>using namespace std;//动态规划 之 01背包问题 class PackageItem { public: char name; int weigh原创 2017-03-30 11:51:53 · 555 阅读 · 0 评论
分享