摘要:
作用:在第一次使用类之前,用静态构造函数来初始化封闭类中一些静态变量。 示例: public class Car : Product { private readonly static string _productType; public static string ProductType { g 阅读全文
摘要:
//O(n),遍历 int findPeakElement1(vector<int>& nums) { const size_t length = nums.size() - 1; if (length == 0) return 0; if (nums[0] > nums[1]) return 0; 阅读全文
摘要:
对于没有类型约束的泛型,其类型参数可以指定为任意类型。 例如List<T>,其类型参数T是值类型(List<int>)或引用类型(List<object>)。 有时候,我们希望泛型的类型参数只能是值类型或引用类型,这时就该论到类型约束上场了。 约束要放到泛型方法或泛型类型声明的末尾,并由关键字whe 阅读全文
摘要:
通过将变量o声明为静态类型dynamic(类型是静态的,对该类型的处理是动态的),编译器会对o的几乎所有处理都区别对待,将所有绑定决策(如Length的含义)留给运行时。 dynamic d = "hello"; Console.WriteLine(d.Length);// 打印结果:5 d = n 阅读全文
摘要:
中序遍历是指:左子节点→根节点→右子节点的方式遍历二叉树。 用循环的方法进行中序遍历 vector<int> inorderTraversal(TreeNode* root) { stack<TreeNode*> stk;//暂存树节点的栈 vector<int> result;//存放结果 Tre 阅读全文
摘要:
对于要求泛型类型参数为父类型,允许赋值类型参数为子类型值的这种情况,称为协变。 对于要求泛型类型参数为子类型,允许赋值类型参数为父类型值的这种情况,称为逆变。 结论:逆变、协变是方法参数、返回值类型的转换与对委托方法的包装。应属于多态的一种形式。 引用:https://www.cnblogs.com 阅读全文
摘要:
装箱 是指将值类型转换为引用类型,如下: int a = 10;//a的类型是结构体system.Int32,结构体是值类型Object o = a;//o的类型是类system.Object, 类是引用类型 拆箱 是指将装箱的引用类型转换为值类型。 int b = (int)o;//将o强转为值类 阅读全文
摘要:
//要求: //①求正负 //②上界溢出则返回上界,下界溢出则返回下界 //③遇到非数字(不包含+,-),则返回在该字符出现之前计算出的整数 //④能够跳过前面的空白字符 int atoi(const char *str) { long long num = 0;//绝对值,为了发现溢出,使用比返回 阅读全文
摘要:
NC7 买卖股票的最好时机 方法的时间复杂度O(n),空间复杂度O(1) int maxProfit(vector<int>& prices) { //当前利润 int curProfit = 0; //当前最大利润 int result = 0; for (int i = 1; i < price 阅读全文
摘要:
//给出一组区间,请合并所有重叠的区间。 //请保证合并后的区间按区间起点升序排列。 //区间结构体 struct Interval { int start; int end; Interval() : start(0), end(0) {} Interval(int s, int e) : sta 阅读全文