- 博客(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
2529

原创 37. Sudoku Solver
方法:backtracking这种方法是一种考虑到约束条件的回溯法,条件就是当检查每一个数字时,需要考虑每行,每列和所在的单元已经满足条件,这种问题又叫做满足约束条件问题,backtracking是最好理解的,就是按照每行每列组个元素检验,并填入新的满足条件的元素,一旦到达某一不,不满足时,用backtracking返回上一步,再带入新的元素检查,这种算法一般不用求时间复杂度,因为是NP 问题。更好的方法有前馈和arc consistency 和 domain spliting,但目前不会应用。cla
2021-09-08 21:59:18
83
原创 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
1700
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
3299
原创 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
243
原创 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
790
原创 js arr.entries()
for (const [idx, val] of arr.entries()) { console.log(idx, val);}
2021-09-26 23:10:51
385
原创 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
234
原创 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
130
原创 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
135
原创 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
104
原创 Python float(‘inf‘) 与 sys.maxsize区别
float(‘inf’) and sys.maxsizesys.maxsize = numberfloat(‘inf’) > sys.maxsize
2021-09-26 11:46:17
529
原创 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
151
原创 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
2088
原创 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
178
原创 复习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
241
原创 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
107
原创 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
121
原创 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
104
原创 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
118
原创 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
116
原创 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
86
原创 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
87
原创 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
61
原创 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
94
原创 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
126
原创 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
70
原创 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
97
原创 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
79
原创 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
131
原创 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
63
原创 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
85
原创 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
82
原创 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
67
原创 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
121
原创 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
71
原创 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
78
原创 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
86
原创 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
101
原创 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
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人