- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 brk函数和sbrk函数详解(英文版)
BRK(2) Linux Programmer's Manual BRK(2) NAME brk, sbrk - change data segment size SYNOPS.
2020-10-25 11:21:33
708
原创 LeetCode 基本计算器 II
原理: 实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。 示例 1: 输入: “3+2*2” 输出: 7 示例 2: 输入: " 3/2 " 输出: 1 示例 3: 输入: " 3+5 / 2 " 输出: 5 来源: 力扣(LeetCode) 链接: https://leetcode-cn.com/problems/basic-calculator-ii 著作权归领扣网络所有。商业转载请联系官方授权,非商
2020-07-18 23:05:28
208
原创 LeetCode 基本计算器(原理与实现)
题目: 实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。 实例: 输入:"1+1" 输出:2 输入:"(1+(4+5+2)-3)+(6+8)" 输出:23 原理: 使用栈加反转字符串的方法结题. 在遇到")"之前,将数字转成string压入栈中; 当遇到")"时,开始出栈,并计算数字之和,其中,减号"-"当做负号使用.计算完成括号内数字之和时,将和转成string重新压入栈中.此举可以保证括号位置的正确性. C+
2020-07-18 21:25:19
917
原创 插入排序原理和实现
插入排序实际上是将每个元素提取出来插入到新序列的合适位置,最后再赋值回来. 实践过程中, 原地算法会在插入前进行移位. // 插入排序 // C++实现 class Solution{ public: void insertSort(vector<int>& nums){ // 原地排序 int n = nums.size(); for(int i=2; i<n; i++){ int x = nums[i];
2020-07-17 20:44:17
197
原创 选择排序的原理及实现(C++)
选择排序: 原理是先将序列复制一份进入新序列,并清空原序列; 然后再在新序列中不断寻找最小值,将最小值添加到原序列末尾,并将新序列的最小值元素删除.从而达到排序的目的. 可以看到, 在新序列中寻找最小值的过程是主要的耗时步骤, 总共需要O(n2). 实际实现如下: // 选择排序 // C++实现 class Solution{ public: void selectionSort(vector<int>& nums){ // 原地排序 int n =
2020-07-17 12:20:24
397
原创 计算各个位数不同的数字个数
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n 。 示例: 输入: 2 输出: 91 解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。 class Solution { public: int countNumbersWithUniqueDigits(int n) { if(n == 0) return 1; if(n == 1) return 10;
2020-07-16 00:08:57
364
原创 LeetCode 子集 C++ 回溯法, 简单理解与实现, 双100%
给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] class Solution { public: void backtrack(vector<vector<int>>& ret, vector<in...
2020-07-15 22:53:00
238
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人