![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
饿二饿二饿
这个作者很懒,什么都没留下…
展开
-
Leetcode_002 add two numbers
问题描述: 有两个非空链表,代表两个非负整数 这些数字是倒序存储的,并且每一个节点都只包含一个数字(我的理解是val<10) Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8思路:既然数字是反的,倒着加就可以了; 平常加法进位都是向前进位,现在向后进位就可以了; 不过需要注意,如果最后一位原创 2017-11-21 16:17:32 · 171 阅读 · 0 评论 -
剑指offer——和为s的连续正数序列
用两个指针,如果和>sum,l++,如果和<sum,r++class Solution {public: vector<vector<int>> FindContinuousSequence(int sum) { vector<vector<int>> result; if (sum < 3) return res...原创 2018-05-17 14:20:42 · 158 阅读 · 0 评论 -
剑指offer——和为s的两个数字
输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。这一题和上一题差不多,上一题的指针是 赛跑指针(l++,r++)这一题的指针是对撞指针(l++,r--) class Solution {public: vector<int> FindNumbersWithSum(vector<int> a...原创 2018-05-17 14:59:51 · 238 阅读 · 0 评论 -
剑指offer——翻转单词序列
我的方法很笨,就是用空间换时间,先把每个单词存下来,在倒着拼起来明明在VS上运行的好好的,牛客上非说 格式错误:您的程序输出的格式不符合要求(比如空格和换行与要求不一致)class Solution {public: string ReverseSentence(string str) { string res; int n = str.size(); if (n == 0 || ...原创 2018-05-17 16:12:37 · 412 阅读 · 0 评论 -
数据结构set和map(二)——Leetcode01,15
01class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> record; for (int i = 0; i < nums.size(); i++) { int rest = ta...原创 2018-05-05 09:30:51 · 144 阅读 · 0 评论 -
用快排找出第K大元素
一定要随机地选择标定元素因为在 __quickSort函数中只处理了l==r的情况,还有 l>r的情况(比如第一个元素就是最小值,此时partition返回的值是l,将数组分为两部分(l,l-1)和(l+1,r))如果随机地挑选标定元素,出现这种情况的概率就会非常小本代码可以满足绝大多数情况 int arr[8] = { 8,7,1,2,0,3,5,4 }; #include<...原创 2018-05-12 17:33:10 · 613 阅读 · 0 评论 -
剑指offer——孩子们的游戏
一开始看错题的了,我以为唱过歌的孩子还在圈中假设唱过歌的孩子还在圈中class Solution {public: int LastRemaining_Solution(int n, int m) { int singed = 0;//有几个小朋友唱过歌 int count = 0; int i = -1; //当前指向的小朋友 while (true) { if...原创 2018-05-18 19:44:05 · 365 阅读 · 0 评论 -
堆排(二)——实现topK元素的寻找
用自己写的堆,和STL标准库中自带的堆比较int findTopK1(int* arr, int n, int k){ MaxHeap<int> mapheap = MaxHeap<int>(arr, n); //mapheap.testPrint(); for (int i = 1; i <=k-1; i++) { cout<<"the ...原创 2018-05-12 21:05:10 · 233 阅读 · 1 评论 -
剑指offer——滑动窗口的最大值
牛客网出题出的太不严谨了当滑动窗口的长度大于数组长度时,到底是返回数组的最大值还是返回空非要我运行一遍,才能猜透是返回空class Solution {public: vector<int> maxInWindows(const vector<int>& num, unsigned int size) { vector<int> result;...原创 2018-05-19 16:15:01 · 222 阅读 · 0 评论 -
堆排(一)——用自己的代码实现堆
很激动,竟然有人看我的文章首先感谢liuyubobobo的代码,点击打开链接我决定好好把堆这一块的知识再补充一下堆的三个要点:①建堆——从第一个非叶子节点开始,从后往前,将每一个小堆都变成最大堆(这是一个和孩子比较大小的过程,shiftDown) ②插入堆——这是一个和父节点比较大小的过程(shiftUp)③pop堆——将当前堆的第一个元素和最后一个元素交换位置,然后对剩下的n-1个重新建堆(s...原创 2018-05-14 09:24:37 · 232 阅读 · 0 评论 -
C++——之字打印二叉树
class Solution {public: vector<vector<int> > Print(TreeNode* pRoot) { vector<vector<int> > result; if (pRoot == NULL) return result; queue<TreeNode*> q; ...原创 2018-05-14 18:50:33 · 1212 阅读 · 0 评论 -
LeetCode 189——旋转数组,用O(1)的空间复杂度实现
旋转的次数是,数组长度n 和 旋转位数 k的最大公约数折腾了俩小时才琢磨出来,笨死我了#include<iostream>#include<vector>#include<string>#include<ctime>#include<queue>#include<cassert>#include<algor...原创 2018-05-15 15:31:48 · 835 阅读 · 0 评论 -
头条面试题——找出最大的连续的子数组
对于n个元素,有正有负,输出最大的连续的子数组vector<int> findMaxSubstr(vector<int> arr){ vector<int> result; int n = arr.size(); if (n == 0) return result; if (n == 1) { result.push_back(arr[0]...原创 2018-05-15 19:12:52 · 936 阅读 · 0 评论 -
LeetCode——贪心算法
//LeetCode 455 Assign Cookies int findContentChildren(vector<int>& g, vector<int>& s) { //sort默认是从小到大排序 sort(g.begin(), g.end(), greater<int>()); sort(s.begin(), s.end...原创 2018-05-15 20:17:24 · 568 阅读 · 0 评论 -
LeetCode——动态规划
198 House Rober方法一)自顶向下的递归class Solution {private: //记录 memo[i]表示——抢劫[i....nums.size()-1]所能获取的最大收益 vector<int> memo; //考虑去抢劫[index....nums.size()-1]这个范围内所有的房子,返回值——抢劫[index....nums.size()...原创 2018-05-15 20:55:38 · 234 阅读 · 0 评论 -
剑指Offer——求数组中的逆序对
用归并排序int __mergeSort(vector<int> &data, vector<int> copy, int l, int r){ if (l >= r) return 0; int mid =(l+r)>>1; //cout << "mid:" << mid <<原创 2018-05-16 10:16:16 · 153 阅读 · 0 评论 -
Linux常用命令
1. 重命名文件或文件夹 mv A B2. 权限 chmod -R 777 文件名3.创建文件夹 mkdir -p A/B rm a.txt 删除普通文件a.txt rm -r a/ 删除目录a rm -rf a/ 强制删除目录a -f 表示强制4.退出终端 ctrl+D5. 安装deb安装包 sudo dpkg -i6.下载时加上清华镜像pip instal...原创 2018-06-18 19:48:37 · 299 阅读 · 0 评论 -
树的判断:二叉搜索树,平衡二叉树
这两个判断里都埋有坑二叉树搜索树:不能用递归的方式直接判断 这里用中序遍历,判断遍历的节点是否是递增的,用prev保存上一个遍历的节点 当前节点的值一定小于bool IsBST(TreeNode* pRoot) { static TreeNode *prev = NULL; if (pRoot)...原创 2018-05-17 10:42:40 · 173 阅读 · 0 评论 -
头条面试——将数组中负数都插入到正数的中间
5 6 7 1 -3 - 1 -4 -55 -1 6 -4 7 -5 1 -3在声明vector时,如果想把它当成数组一样用,就需要声明大小:vector<int> arr( 一定要写大小 );class Solution {public: vector<int> insertMinus(vector<int> arr) { vector<i...原创 2018-05-17 09:20:06 · 340 阅读 · 0 评论 -
c++primer 第五版课后习题 第五章
第五章主要讲了函数#include<iostream>#include<string>#include<vector>#include<stdexcept>using namespace std;void test_5_9() { char c; int cnt = 0; while (cin >> c) { switch (c)原创 2017-11-30 22:02:10 · 235 阅读 · 0 评论 -
C++primer 第五版课后习题 第六章(1) 1-20
练习6.1 实参和形参的区别是什么? 形参出现在函数定义中,只能在函数体内使用练习6.2 (a)返回类型不匹配。应该把int换成string (b)没有返回类型。应该加上一个返回类型(如void) (c)任意两个形参不能同名。把原创 2017-12-01 13:49:04 · 233 阅读 · 0 评论 -
C++primer 第五版课后习题 第六章(2)21-38
练习 6.21#include<iostream>using namespace std;int compare( int a, int* b) { return a > (*b) ? a : (*b);}int main() { int a = 3; int b = 4; int *p = &b; cout << compare(a, p) << e原创 2017-12-01 16:06:19 · 180 阅读 · 0 评论 -
C++primer 第五版课后习题 第六章(3)39
6.4 函数重载 定义:①在同一作用域内 ② 名字相同 ③在形参数量和形参类型上有所不同 ,与返回值无关 作用:在一定程度上可以减轻程序员起名字、记名字的负担在什么情况下用const可以重载? 在形参是指针和引用的情况下练习6.39(a)错误。含有const参数的重载,只有参数是const引用或是指针才是重载 (b)错误原创 2017-12-02 10:51:28 · 236 阅读 · 0 评论 -
c++primer 第一章课后习题 编程代码
第一章 很简单,最基础的介绍 有两个小知识点: ○endl有什么作用? 一是换行;二是将与设备关联的缓冲区中的内容刷新到设备中,缓冲刷新操作可以保证到目前为止程序所产生的所有输入都真正写入输出流中,而不是仅仅停留在内存中等待写入流。 ○for和while的区别? for:循环控制变量的初始化和修改都放在语句头部分,形式较简洁,且特别适用原创 2017-11-26 15:01:01 · 307 阅读 · 0 评论 -
C++——字符的反转
/*字符串的反转===字符的交换 用第一个字符和最后一个字符交换,第二个字符和倒数第二个交换*/#include <iostream>using namespace std;int main() { char b[100]; char *str=b,*i,*j; int len=0; char a,temp; while (cin >> a) {...原创 2018-03-07 10:09:20 · 234 阅读 · 0 评论 -
运算符重载
#include<iostream>using namespace std;class MyTime{private: int hours; int minutes;public: MyTime(); MyTime(int h, int m); ~MyTime(); void show(); MyTime operator+(const MyTime &...原创 2018-03-13 11:01:41 · 172 阅读 · 0 评论 -
C++——构造函数和析构函数的调用
题目:看下列程序输出结果#include<iostream>using namespace std;class A{public: A(int n = 2) :m_i(n) {} ~A() { cout << m_i; }protected: int m_i;};class B :public A {private: A m_a1; A m_...原创 2018-03-14 14:34:27 · 222 阅读 · 0 评论 -
C++——游戏任务标记
题目描述游戏里面有很多各式各样的任务,其中有一种任务玩家只能做一次,这类任务一共有1024个,任务ID范围[1,1024]。请用32个unsignedint类型来记录着1024个任务是否已经完成。初始状态都是未完成。输入两个参数,都是任务ID,需要设置第一个ID的任务为已经完成;并检查第二个ID的任务是否已经完成。 输出一个参数,如果第二个ID的任务已经完成输出1,如果未完成输出0。如果第一或第二...原创 2018-03-20 20:20:16 · 258 阅读 · 0 评论 -
leetcode——27,26,80
27题#include <iostream>#include<string>#include<iostream>#include<vector>#include<algorithm>using namespace std;class Solution {public: int removeElement(vector&...原创 2018-04-30 11:01:44 · 123 阅读 · 0 评论 -
leetcode——88,215
88 合并两个有序数组方法一:直接使用sort() 打败了26.11%的人class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int index = m; for (int i = 0; i < n; i...原创 2018-04-30 16:21:15 · 114 阅读 · 0 评论 -
leet code—— 对撞指针125,344,345,11
125Input: "A man, a plan, a canal: Panama"Output: true判断一个字符串是不是回文串class Solution {public: bool isPalindrome(string s) { if ( s.length() == 0 || s.length() == 1) return true; int l = 0; i...原创 2018-04-30 20:09:01 · 319 阅读 · 0 评论 -
数据结构——滑动窗口Leetcode3寻找最大的连续不重复子串
Leetcode 3 寻找最大的连续不重复子串第一种方法class Solution {public: int lengthOfLongestSubstring(string s) { if (s.length() == 0) return 0; int l = 0; int r = 0; //[l...r]包含了当前最大长度的不重复连续子串 int max_length = 1; ...原创 2018-05-01 15:18:56 · 655 阅读 · 0 评论 -
数据结构——滑动窗口Leetcode209,438,76
滑动窗口209给定一个sum,求和大于等于sum的最短子串,返回最短子串的长度 滑动窗口一定是r++,l++,对撞指针是r--,l++ class Solution {public: int minSubArrayLen(int s, vector<int>& nums) { //判断特殊情况 int l = 0; int r = -1;...原创 2018-05-01 17:08:29 · 1406 阅读 · 0 评论 -
数据结构set和map(一)——Leetcode349,350,242,202,290
349class Solution {public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { set<int> record(nums1.begin(),nums1.end()); ...原创 2018-05-03 17:18:25 · 167 阅读 · 0 评论 -
TensorBoard远程连接服务器
参考博客:点击打开链接1.连接sshssh -L 16006:127.0.0.1:6006 -p 31017 root@221.122.128.542.登录上之后,早服务器上使用6006端口启动tensorboard:source activate tensorflow-py36tensorboard --logdir=event文件所在的文件夹 --port=60063.在本地浏览器输入地址:h...原创 2018-06-18 19:51:34 · 2376 阅读 · 0 评论