- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 brk函数和sbrk函数详解(英文版)
BRK(2) Linux Programmer's Manual BRK(2)NAME brk, sbrk - change data segment sizeSYNOPS.
2020-10-25 11:21:33
671
原创 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
186
原创 LeetCode 基本计算器(原理与实现)
题目:实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。实例:输入:"1+1"输出:2输入:"(1+(4+5+2)-3)+(6+8)"输出:23原理:使用栈加反转字符串的方法结题.在遇到")"之前,将数字转成string压入栈中;当遇到")"时,开始出栈,并计算数字之和,其中,减号"-"当做负号使用.计算完成括号内数字之和时,将和转成string重新压入栈中.此举可以保证括号位置的正确性.C+
2020-07-18 21:25:19
893
原创 插入排序原理和实现
插入排序实际上是将每个元素提取出来插入到新序列的合适位置,最后再赋值回来.实践过程中, 原地算法会在插入前进行移位.// 插入排序// 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
174
原创 选择排序的原理及实现(C++)
选择排序: 原理是先将序列复制一份进入新序列,并清空原序列; 然后再在新序列中不断寻找最小值,将最小值添加到原序列末尾,并将新序列的最小值元素删除.从而达到排序的目的. 可以看到, 在新序列中寻找最小值的过程是主要的耗时步骤, 总共需要O(n2). 实际实现如下:// 选择排序// C++实现class Solution{public: void selectionSort(vector<int>& nums){ // 原地排序 int n =
2020-07-17 12:20:24
370
原创 计算各个位数不同的数字个数
给定一个非负整数 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
340
原创 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
220
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人