- 博客(294)
- 资源 (1)
- 问答 (4)
- 收藏
- 关注
原创 JZ35 && LQ138 复杂链表的复制 哈希表法+拼接拆分
哈希赋值random时,通过哈希表可以实现给定旧节点获取新节点的效果/*// Definition for a Node.class Node {public: int val; Node* next; Node* random; Node(int _val) { val = _val; next = NULL; random = NULL; }};*/class Solution {pu
2020-12-31 11:05:20
211
原创 Leetcode 426 && JZ36 二叉搜索树与双向链表
每次需要想用flag的时候,再想想看有没有其它的代替方案,会不会那个flag还有其它的很明显的改变比如 pre==null 就相当于找到了刚开始想到中序遍历很好,紧接着没有新的idea。如果这时候,顺着中序遍历走一遍,可能就会发现要实现目标功能,要修改的东西很少很简单/*// Definition for a Node.class Node {public: int val; Node* left; Node* right; Node() {} .
2020-12-30 19:44:26
320
原创 Leetcode 103. Binary Tree Zigzag Level Order Traversal 双端队列使用,以及一些巧妙技巧 还有更简单方法
双端队列,相当于两个栈。在连续使用的情况下,能实现一组“数组”取逆序,另一组“数组”取正序的效果。用队列进行层级遍历,巧用size可以划分等级每完成一个层级的遍历,该层的size也相应固定住,这是可以用一个变量存取,用一个for循环即可遍历该层全部的元素/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *ri.
2020-12-25 00:49:46
211
原创 Leetcode 772 & AcWing3302. 表达式求值 Basic Calculator III 计算器完整版
//LeetCode 772#include <cstdio>#include <iostream>#include <map>#include <stack>using namespace std;typedef long long ll;string transform(string s){ map<char, int>hash={{'+', 1}, {'-', 1}, {'*', 2}, {'/', 2}};
2020-12-23 22:01:43
325
原创 Leetcode 155. Min Stack 在辅助栈中巧妙的占位
刚开始没想到怎么存最小值,特别是存下来后,如果pop掉了,怎么把最小值去掉后来看答案才知道,除了原来的主栈外,再另设一个辅助栈,每次push新元素时,1 如果这个数比当前最小的小(也就是辅助栈顶元素),那么辅助栈push新元素2 反之,再push一个栈顶元素3 这样无论主栈push还是pop操作,辅助栈进行同步操作也不会受影响class MinStack {public: /** initialize your data structure here. */ MinSt.
2020-12-23 21:21:33
136
原创 Leetcode 946. Validate Stack Sequences 栈的运用
思路一开始没有思路,多画一画简单样例,复杂样例分解样例,连续样例短期地想,长期地想最终发现,可以构造一个栈遍历输入的元素,如果如果刚好能和输出元素对上,就都跳过,反之入栈最终遍历完成后,栈中元素应当能和剩余输出元素恰好对应上。最后栈空class Solution {public: bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {.
2020-12-23 21:16:38
165
原创 Leetcode 50. Pow(x, n) 递归和快速幂
要注意的考虑指数取−231-2^{31}−231即$-2147483648$4时,如果还是用int取正,得不到对应的正数,因为超过取值范围。因此选用unsigned int 来作为指数的数据类型判断指数正负时,记得用给定指数n,而不是自己创建的unsigned int k,因为k无符号无法判断…快速幂方法不用递归,推荐递归class Solution {public: double myPow(double x, int n) { bool neg=false;.
2020-12-19 16:31:41
262
1
原创 Leetcode 33 & 81 & 153 &154 二分法
33 Search in Rotated Sorted Arrayclass Solution {public: // 四种情况 /** 1. mid落在哪个区间 2种 2. 每一种中,target是否可以在区间中搜到?比较端点值和target以及中间数和target **/ int search(vector<int>& nums, int target) { int left = 0, right = nums.s
2020-12-17 11:45:41
236
原创 Leetcode C++刷题常见报错
递归没终止===================================================================31==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x603000000084 at pc 0x0000003aa169 bp 0x7ffd45a6d850 sp 0x7ffd45a6d848READ of size 4 at 0x603000000084 thread T0 .
2020-12-16 21:21:02
6623
原创 python 版本rabbitmq 客户端断线重连
据说除了python,其它版本均实现了这个机制国内有两种自己实现的方法:https://blog.csdn.net/comprel/article/details/93788782?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogComm.
2020-12-15 09:58:19
2356
1
原创 C++ char转string 直接转换要注意的
正确char a[] = "123";string obj_str;obj_str = a;-错误- 二三行不能直接写char a[] = "123";string obj_str = a;
2020-12-13 16:58:26
189
原创 代码大全中的cohesion
内聚性(cohesion),是指子程序中各种操作之间联系的紧密程度。关于内聚性cohesion的讨论一般会涉及到内聚性的几个层次。以下概念可以帮助你思考如何让子程序尽可能地内聚。功能的内聚性(functional cohesion)它是最强也是最好的一种内聚性,也就是说让一个子程序仅执行一项操作。除此之外,还有其他的内聚性人们却通常认为不够理想的。顺序上的内聚性(sequential cohesion)通信上的内聚性(communicational cohesion)临时的内聚性(temp.
2020-12-11 13:31:17
887
原创 代码大全 Code Complete 中的routine
原文What is a “routine”? A routine is an individual method or procedure invocable for a single purpose. Examples include a function in C++, a method in Java,a function or sub procedure in Microsoft Visual Basic. For some uses, macros in C andC++ can also b
2020-12-11 13:27:56
455
原创 Mac端,远程访问服务器的tensorboard
参考 http://www.siyuanblog.com/?p=115207服务器端起:tensorboard –logdir=/data/serve_output/ —port=6006Mac端重定向: ssh -L 16006:127.0.0.1:6006 user@hostname 本地 localhost:16006:127.0.0.1 打开
2020-11-10 14:54:59
429
原创 tensorboard报错:ValueError: Duplicate plugins for name projector`
转载 https://blog.csdn.net/jinbeibei0606/article/details/100771997
2020-10-22 15:18:00
363
原创 tensorflow, numpy axis dimension 简单快速理解
axis的取值个数等于矩阵的维度axis=i 表示第i维的数,按照i的变化进行相应操作,第i维对应位置的所有数,会最终变成1个数,故少了一个维度比如np.sum操作下面的例子假设了(4,3,2,3)维的矩阵,axis取值的顺序也就是(4,3,2,3)axis=0时,矩阵形状就变成(3,2,3)axis=1时,矩阵形状就变成(4,2,3)axis=2时,矩阵形状就变成(4,3,3)axis=3时,矩阵形状就变成(4,3,2)d = data = np.random.randint(0.
2020-10-19 14:23:25
253
原创 服务器配置jupyter远程访问
[参考] https://blog.csdn.net/tuzixini/article/details/79105482
2020-10-19 09:17:33
212
原创 Mac 报错 ssl.SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]
macOS:Mac OSX python ssl.SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败/Applications/Python 3.7目录下,运行Install Certificates.command
2020-10-18 16:30:58
1135
原创 ubuntu 下批量创建多用户和密码
创建有两个命令 adduser 和 useradd。前者有互动,不易于批处理,后者则可#!/bin/bashfor i in {1..44};do sudo useradd -d /home/csapp$(printf "%0.2d" $i) -s /bin/bash -m csapp$(printf "%0.2d" $i) # 创建帐号,创建目录 echo csapp$(printf "%0.2d" $i):csapp$(printf "%0.2d" $i) | sudo chpasswd .
2020-09-24 20:55:14
1296
原创 Leetcdoe 5. Longest Palindromic Substring 最长回文子序列
class Solution {public: string longestPalindrome(string s) { if(s.size()==0) return s; string res; for(int i=0; i<s.size()-1; i++){ string s1 = palindrome(s, j, i); string s2 = palindrome(s, i, i+1);
2020-09-22 21:08:23
165
原创 Leetcode 26. & 83. Remove Duplicates from Sorted Array/List 有序数组去重,快慢指针,链表注意清空后面不要的元素
26 Arrayclass Solution {public: int removeDuplicates(vector<int>& nums) { if(nums.size()==0) return 0; int slow=0, fast = 1; while(fast<nums.size()){ if(nums[fast]!=nums[slow]){ nums[++
2020-09-16 23:18:43
208
原创 Leetcode 42. Trapping Rain Water 备忘录到双指针
code 1思路,一个一个看。i位置的值,就是i左右两侧最小值减去height[i]。把这些都算出来加起来即可备忘录l_max[i] i左边最大的墙壁r_max[i] i右边最大的墙壁时间复杂度O(N)O(N)O(N)空间复杂度O(N)O(N)O(N)class Solution {public: int trap(vector<int>& height) { int len = height.size(); if(len
2020-09-16 00:25:38
263
原创 conda jupyter配置
conda install -c anaconda ipykernelpython -m ipykernel install --user --name=jianmo --display-name "Python(jianmo)" # jianmo是我自己起的conda install nb_conda
2020-09-15 17:54:10
1676
原创 Leetcode 204. Count Primes 素数筛
class Solution {public: int countPrimes(int n) { if(n<3) return 0; vector<bool> nums(n,true); for(int i=2; i*i<n; i++){ // i*i<n减少循环次数 if(nums[i]){ for(int j=i*i ;j<n; j=j+i){ //从i*
2020-09-15 10:06:08
172
原创 Leetcode 437. Path Sum III 两个递归,很简单
count函数: root为根节点,且为路径起点,其子路径中所有和为sum的路径个数pathSum: root为根节点,其子路径中所有和为sum的路径个数/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(.
2020-09-14 00:34:12
180
原创 Leetcode 986. Interval List Intersections 区间交集 双指针
class Solution {public: vector<vector<int>> intervalIntersection(vector<vector<int>>& A, vector<vector<int>>& B) { int i=0, j=0; vector<vector<int>> res; while(i<A.size
2020-09-13 00:28:41
151
原创 Leetcode 56. Merge Intervals 区间调度之合并,二维数组排序(C++/Python),通过引用修改原数组的值
class Solution {public: vector<vector<int>> merge(vector<vector<int>>& intervals) { if(intervals.size()==0) return {}; vector<vector<int>> res; int len = intervals.size(); sort(in
2020-09-12 00:16:00
185
原创 Leetcode 733. Flood Fill dfs方法,以及这类问题在扫雷,套索的延伸
技巧用-1来标记是否被访问。在一次dfs内,选择在对四个方向进行遍历之后,再将-1改为新的着色点。这样就不需要开辟visited数组参考class Solution { public int[][] floodFill(int[][] image, int sr, int sc, int newColor) { int origColor = image[sr][sc]; fill(image, sr, sc, origColor, .
2020-09-11 00:22:02
166
原创 Tmux常用快捷键,命令总结
参考Ctrl+b %:划分左右两个窗格。Ctrl+b ":划分上下两个窗格。Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。Ctrl+b ;:光标切换到上一个窗格。Ctrl+b o:光标切换到下一个窗格。Ctrl+b {:当前窗格与上一个窗格交换位置。Ctrl+b }:当前窗格与下一个窗格交换位置。Ctrl+b Ctrl+o:所有窗格向前移动一个位置,第一个窗格变成最后一个
2020-09-10 10:19:22
1814
原创 Python chain用法: 迭代多个迭代对象
from itertools import chaina = [1, 2, 3, 4]b = ['x', 'y', 'z']for x in chain(a, b): print(x)输出1234xyz
2020-09-08 13:44:03
448
原创 pickle 读取 .pkl 文件
import pickletrain = pickle.load(open("touchpoint_encode.pkl", 'rb'),encoding='iso-8859-1')print(train)
2020-09-04 20:15:54
1280
原创 yield 迭代器的使用
实现返回出一个斐波那契數列如下代码,用一个list存储,代价是整个list会占用较大的内存空间#!/usr/bin/python# -*- coding: UTF-8 -*- def fab(max): n, a, b = 0, 0, 1 L = [] while n < max: L.append(b) a, b = b, a + b n = n + 1 return L for n in.
2020-09-04 11:51:00
281
原创 Python list 转dict
a = [1,2,3]b = ["123","455","888"]c = dict(zip(a,b))print(c)
2020-09-04 10:36:10
209
论文解读pre:Clustering Very Large Multi-dimensional Datasets with MapReduce
2020-06-22
求教JavaScript大神问题
2016-09-21
关于VC6.0中,CWebPage与JaveScript交互的问题
2016-08-22
VC++6.0导入CWebPage的问题
2016-08-22
关于html满屏的问题,小白不懂啊
2016-08-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人