自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(248)
  • 收藏
  • 关注

原创 为什么C语言scanf字符时加空格

csanf是在<stdlib.h>库中的输入输出流,输入时会自动去掉空格,也就是说输入字符串时不能加空格,需要多个scanf, 而在输入字符时与数字不同,默认读取字符的后一个,如果不加空格,实际输入为空字符,所以没有显示,加上之后,会略过空字符,读取下一个。不太清楚scanf的标准库为什么这么写,有哪些好处。初学者可能遇到各种bug.#include <stdlib.h>int main(){ double num1; double num2; cha

2021-09-15 20:21:00 2291

原创 37. Sudoku Solver

方法:backtracking这种方法是一种考虑到约束条件的回溯法,条件就是当检查每一个数字时,需要考虑每行,每列和所在的单元已经满足条件,这种问题又叫做满足约束条件问题,backtracking是最好理解的,就是按照每行每列组个元素检验,并填入新的满足条件的元素,一旦到达某一不,不满足时,用backtracking返回上一步,再带入新的元素检查,这种算法一般不用求时间复杂度,因为是NP 问题。更好的方法有前馈和arc consistency 和 domain spliting,但目前不会应用。cla

2021-09-08 21:59:18 52

原创 python 接受连接蓝牙

import asynciofrom bleak import BleakClient# address = "24:71:89:cc:09:05"address = "54:6C:0E:53:35:F1"MODEL_NBR_UUID = "00002a24-0000-1000-8000-00805f9b34fb"# MODEL_NBR_UUID ='F000XXXX-0451-4000-B000-000000000000'async def main(address): async

2021-11-01 11:56:45 1495 2

原创 local storage, session storage 和 cookie区别

1 存储大小不同, cookie: 4K,session : 5M, local:5M2 数据有效期不同,cookie可以设置, 设置过期时间, 也可以手动清空session:仅在浏览器关闭前有效local:永久有效,除非手动清除3 作用域,cookie在所有同源窗口共享session仅在一个浏览器共享,不同浏览器不共享local在所有同源窗口共享4 通信,cookie: 通过http,在浏览器和服务器传递session仅在客户端local仅在客户端5 应用,cookie判断用

2021-09-27 19:49:27 3174

原创 HTML dl

dl: description listdd: data descriptiondt: data term<!DOCTYPE html><html><body><h2>A Description List</h2><dl> <dt>Coffee</dt> <dd>- black hot drink</dd> <dt>Milk</dt>

2021-09-27 18:53:43 191

原创 js arr.every()

ispositive is a callback function need to check every element// JavaScript code for every() methodfunction ispositive(element, index, array) { return element > 0;}function func() { var arr = [11, 89, 23, 7, 98]; // Check for positive n

2021-09-26 23:19:15 712

原创 js arr.entries()

for (const [idx, val] of arr.entries()) { console.log(idx, val);}

2021-09-26 23:10:51 338

原创 JS array.entries() method

entries is used for get key, val of enumerate in pythonvar arr = ["HTML", "CSS", "JS", "Bootstrap", "PHP"];console.log(arr.entries());for (var x of arr.entries()) { console.log(x);}Object [Array Iterator] {}[ 0, ‘HTML’ ][ 1, ‘CSS’ ][ 2, ‘JS’ ][

2021-09-26 23:06:21 166

原创 JS copyWithin method

copyWithin(target pos to copy, start to copy, end to copy)var array = [1, 2, 3, 4, 5, 6, 7];console.log(array.copyWithin(0, 4, 6));

2021-09-26 23:00:26 80

原创 JS 1 slice, 2 split, 3 include

1 slice is use for slice a string2 split is the same as python, with limit3 include is the same with startswith in python4 map and filter is used for functions inside5 concat is used for concat arrays// slice(startindex, endindex), not include endinde

2021-09-26 22:48:58 83

原创 98. Validate Binary Search Tree

/ 21 / 31: return True, 3: return True. 2: return True# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightcla

2021-09-26 11:56:54 58

原创 Python float(‘inf‘) 与 sys.maxsize区别

float(‘inf’) and sys.maxsizesys.maxsize = numberfloat(‘inf’) > sys.maxsize

2021-09-26 11:46:17 421

原创 C语言的静态变量

int z = 2;int main(int argc, char *argv[]){ int x = 3, z = 5; printf("main: x = %2d, z = %2d\n", x, z); func(x); printf("main: x = %2d, z = %2d\n", x, z); func(z); printf("main: x = %2d, z = %2d\n", x, z); return 0;}void func(int x){

2021-09-17 22:14:20 108

原创 while (scanf(“%d“, &next) == 1)到底什么意思

表示输入的条件,如果是十进制整数,那么继续循环输入,一旦不为整数,比如输入字符那么退出,而且必须为1,不能为2…。这里1代表返回值,如果对如成功 1 = 1,因为返回值成功用1代表,所以必须为1.C的编写应该对初学者极不友好。很多规定必须查看C指导。#include <stdio.h>int main(int argc, char *argv[]){ int sum; int next; sum = 0; while (scanf("%d", &a

2021-09-17 17:47:20 1793

原创 CSS的长度单位

之前觉得简单用的时候查就可以了,结果发现许多问题,一但做项目,不知怎么用,看别人的才知道用的好。1 为什么需要了解所以的长度单位CSS的属性中height, width, margin, padding, font-size等都需要长度,长度格式是数字加单位,之间无空格,如:5px, 0.9em2 常用长度2.1 rem:r代表root, 是相对于html标签的大小,如果是Google浏览器,那么是16px = 1rem.可以通过inspection来检查。2.2 vw, vh:代表view

2021-09-16 17:53:03 115

原创 复习C语言

1 print#include<stdio.h>int main(){ printf("Hello World");}2 var#include <stdio.h>#include <stdlib.h>int main(){ char charName[] = "John"; int age = 30; printf("There's man name %s.\n", charName); printf("The

2021-09-15 22:05:41 138

原创 32. Longest Valid Parentheses

思想: stack保存下标第一个为-1, 因为需要保证stack里面数字的连续性,才能计数。比如:1 [()]第一次遍历,stack = [-1, 0], -1和0连续,第二次遍历,stack = [-1], i = 1, res = 1-(-1) = 2, 为正确结果。2 [))]第一次遍历,stack = [], 然后stack = [0]第二次遍历,stack = [], 然后stack = [1], 结束循环,因为没有遇到“(”, 所以结果为0.2 [))()()]第一次遍历,s

2021-09-12 15:18:21 74

原创 494. Target Sum

这道题使用暴力dfs无法ac, 需要用到memo记忆,避免dfs时,太多的重复。1 memo: 一般用字典记忆。记忆的就是dp的输入状态。如果后续的输入用到之前计算过的,直接用memo。2 比如:Input: nums = [1,1,1], target = 2按照暴力,2 ^ 3 = 8种答案,选取其中target = 2的结果Output: 3-1 + 1 + 1 = 2+1 - 1 + 1 = 2+1 + 1 - 1 = 2这样很费时间,如果用memo:1st: dp(0, 0) -

2021-09-12 14:30:30 76

原创 react: hooks

1 useStateimport { useState } from 'react';export const App = () => { const [count, setCount] = useState(0); return ( <button onClick={() => setCount(count + 1)}> {count} </button> )}export default App;

2021-09-12 01:55:51 61

原创 JS: map, reduce and filter

// ################### *1* ###################const items = [1, 3, 5];const Square = (i) => { return { item: i, square: i * i, };};const itemsAndSquare = items.map(Square);console.log(itemsAndSquare);// ################### *2* ####

2021-09-11 22:03:23 59

原创 81. Search in Rotated Sorted Array II

重复元素会影响到运行。method 1:bruteclass Solution: def search(self, nums: List[int], target: int) -> bool: for i in nums: if i == target: return True return Falsemethod 2:binaryclass Solution: def search(se

2021-09-11 21:22:40 64

原创 74. Search a 2D Matrix

method 1: brute forceclass Solution: def searchMatrix(self, matrix: List[List[int]], target: int) -> bool: for i in range(len(matrix)): for j in range(len(matrix[0])): if matrix[i][j] == target:

2021-09-11 21:05:52 53

原创 JS基础语法与类的用法

// ################### *1* ###################const { constant } = require("lodash");// const define an immutable valueconst constValue = 'hey';// let defines mutable valuelet variableValue = 0;// var is an old version of JS to define scope of valu

2021-09-11 15:52:02 59

原创 84. Largest Rectangle in Histogram

84. Largest Rectangle in Histogram今天突然发现如果遇到hard题型总是跳过的方法是不会进步的。至少应该能想到用brute force,虽然无法AC,但至少通过了一些测试,然后在想能不能优化。class Solution: def largestRectangleArea(self, heights: List[int]) -> int: res = 0 for i in range(len(heights)):

2021-09-11 15:07:34 37

原创 217. Contains Duplicate - 219. Contains Duplicate II

217. Contains Duplicate方法1:set最慢速度class Solution: def containsDuplicate(self, nums: List[int]) -> bool: return len(nums) != len(set(nums))方法2: set, 更慢速度class Solution: def containsDuplicate(self, nums: List[int]) -> bool:

2021-09-11 00:29:00 66

原创 leetcode: 2 pointers

算法分析该类题型是很好理解,应该先刷,双指针一般会遇到两种类型,一类是数组双指针在两端,一类是链表指针在两端。如leetcode 11, 15,16,18等等。使用双指针可以把时间从O(n^2)提高到O(n), 一般能减小一个n次方。觉得也没有必要完全按照标签来做,因为如果能用一种其他的方法解题也可以不考虑双指针,目的是解题,方法用自己最擅长的就可以。没有必要为了某一个解题方法重复做太多的题。关键是知道这样的方法。11. Container With Most Water1 lo: left poin

2021-09-10 23:07:05 74

原创 43. Multiply Strings

method: 字符转数字记得在学汇编的时候,数字加减也是输入的字符串,需要转化为数字,再做加减。总之不能直接用int(num) 来得到数字,不然不满足题意。def multiply(self, num1: str, num2: str) -> str: return str(self.str_to_int(num1) * self.str_to_int(num2)) def str_to_int(self, n): result=0 fo

2021-09-10 21:05:25 46

原创 73. Set Matrix Zeroes

method: color picture本题主要根据计算机视觉学到的着色原理,要想满足条件,需要对没有完成的0做标记,逆向思路就是把完成的做标记。那么再把标记还原了。这里用到float(‘inf’),是python的系统内置无穷大,满足数字的条件,否则无法通过测试。class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: """ Do not return anything

2021-09-10 01:59:25 64

原创 41. First Missing Positive

method 1:可以通过,但不满足空间O(1)当s 不是集合无法通过。数字 i 一定在1到数组长度加1之间,比如nums = [1, 2, 3], 那么结果为4nums = [1, 2, 2], 结果为 3Runtime: 1346 ms, faster than 9.34% of Python3 online submissions for First Missing Positive.class Solution: def firstMissingPositive(self, nums

2021-09-10 01:13:36 50

原创 509. Fibonacci Number - 70. Climbing Stairs

1 最慢速度class Solution: def fib(self, n: int) -> int: ''' dp: store all numbers in an array ''' if n <= 1: return n return self.fib(n-2) + self.fib(n-1)2 DP 快速class Solution: def fib(s

2021-09-09 13:33:13 55

原创 36. Valid Sudoku

1 check each row2 check each cols3 check each boxclass Solution: def isValidSudoku(self, board: List[List[str]]) -> bool: return self.rowsValid(board) and self.colsValid(board) and self.boxesValid(board) box_size = 3 board_size =.

2021-09-08 20:14:08 41

原创 44. Wildcard Matching

方法:DP本题难度低于leetcode 10, 二十分钟做完,debug几个边界条件问题。代码运行时间较长1s python,应该有优于dp的算法。class Solution: def isMatch(self, s: str, p: str) -> bool: dp = [[False for j in range(len(p) + 1)] for i in range(len(s) + 1)] dp[0][0] = True for

2021-09-08 18:32:44 57

原创 27. Remove Element

class Solution: def removeElement(self, nums: List[int], val: int) -> int: i = len(nums) - 1 while i >= 0: if nums[i] == val: nums.remove(nums[i]) i -= 1 return len(nums)

2021-09-07 16:29:15 51

原创 26. Remove Duplicates from Sorted Array

method: 一次遍历,一个指针指向空位填充class Solution: def removeDuplicates(self, nums: List[int]) -> int: index = 1 for i in range(1, len(nums)): if nums[i-1] != nums[i]: nums[index] = nums[i] index += 1

2021-09-07 16:19:54 45

原创 leetcode 11-20 总结

11. Container With Most Watermethod: 2 pointers1 i: left pointer, j: right pointer, at both side2 this may have the largest value, then i to right, j to left3 until i >= j, stop loops and return resultpythonclass Solution: def maxArea(self, he

2021-09-07 15:28:43 76

原创 145. Binary Tree Postorder Traversal

# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def __init__(self): self.res = []

2021-09-07 13:33:36 53

原创 144. Binary Tree Preorder Traversal

method: binary tree travesal1 很多人不理解树的递归return的意思,其实有多种写法2 首先不管怎么遍历,肯定要递归,因为树是有结构的,比如二叉树。3 另外,递归时要出现无限的分支,这样形成了无限多的递归子函数,每一个函数必须有终止条件,比如Fibonacci数列的终止条件是数字,这里时return4 这里的每一个return self.res是其中某一个的终止条件,最终结果时函数全部递归完的return self.res# Definition for a bina

2021-09-07 13:27:28 53

原创 100. Same Tree

# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def isSameTree(self, p: Optional[TreeNode],

2021-09-07 12:57:40 50

原创 94. Binary Tree Inorder Traversal

# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def __init__(self): self.res = []

2021-09-07 12:43:08 76

原创 20. Valid Parentheses

method 1: replace, 没学数据结构前class Solution: def isValid(self, s: str) -> bool: while "()" in s or "{}" in s or '[]' in s: s = s.replace("()", "").replace('{}', "").replace('[]', "") return s == ''method 2: stack 学了数据结构c

2021-09-07 01:26:50 80

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除