摘要: 1. str1 = input()s = '1234567890abcdefABCDEF'c = ""for item in str1: if item in s: c = c + item # print(str1.find(c[0]))# print(str1.find('-'))if c == 阅读全文
posted @ 2021-03-13 16:18 助手的fork 阅读(58) 评论(0) 推荐(0)
摘要: 实现循环数组主要有两种方式: 1.将数组复制一次,接在原数组的后面。 2.遍历时,遍历2*n次,然后 i%n 靠取模运算得到下标。 阅读全文
posted @ 2021-03-06 15:17 助手的fork 阅读(438) 评论(0) 推荐(0)
摘要: 参考:https://leetcode-cn.com/problems/next-greater-element-ii/solution/cong-po-su-jie-fa-de-jiao-du-qu-li-jie-d-trht/ 对于此类问题,最直接的方法就是两重遍历,但是时间复杂度太高。 之所以 阅读全文
posted @ 2021-03-06 15:08 助手的fork 阅读(113) 评论(0) 推荐(0)
摘要: lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。 在从小到大的排序数组中, lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在 阅读全文
posted @ 2021-03-04 14:17 助手的fork 阅读(138) 评论(0) 推荐(0)
摘要: 1.按位与 &是按位与,对应位都为1时该位得1,否则得0。 i&(i-1) 表示将二进制表示的i 的最右边的1变为0。 &与&&不同,&&是逻辑运算。 (1).(i & (i - 1)) == 0)&&(i>0) 用来判断i是否是2的整数幂。 (2).&还用于屏蔽二进制的某些位,一个二进制数 &0是 阅读全文
posted @ 2021-03-03 19:57 助手的fork 阅读(568) 评论(0) 推荐(0)
摘要: 一维数组求区间和: preSum 方法能快速计算指定区间段 【i,j】的元素之和。它的计算方法是从左向右遍历数组,当遍历到数组的i位置时,preSum 表示 i 位置左边的元素之和。 推导过程引用自:https://leetcode-cn.com/problems/range-sum-query-i 阅读全文
posted @ 2021-03-02 09:49 助手的fork 阅读(2479) 评论(0) 推荐(0)
摘要: 对于 1 和 0 的翻转,有三种思路: 1.用 1 - 当前值 2.用 1 ^ 当前值(这个符号是 异或,相同为 0,相异为 1) 3.1>>当前值 关于>>位移位运算符,见位运算符(&|^) 阅读全文
posted @ 2021-02-24 10:06 助手的fork 阅读(187) 评论(0) 推荐(0)
摘要: 首先是c++中的哈希表和Python中的字典: 一.unordered_map 哈希表是一个键值对型容器,基于哈希表(hash_table)这种数据结构,理解上有些类似于字典,不同于基于红黑树的map。 头文件:#include<unordered_map> 创建表 unordered_map<ke 阅读全文
posted @ 2021-02-20 12:23 助手的fork 阅读(4468) 评论(2) 推荐(1)
摘要: Python 中print()函数的用法真的是十分丰富,遇到一个记一个。 print()函数两个参数sep和end。 使用方法: 1.sep = ‘......’,使用引号中的字符来分割print要打印的每一个量,如果没有指定,默认为一个空格。 2.end = '......',使用引号中的字符来作 阅读全文
posted @ 2021-02-19 20:47 助手的fork 阅读(344) 评论(0) 推荐(0)
摘要: 1.当输入的格式既包含空格又包含逗号时,如: “ 123, 5” 简单使用Input.()将会把所以内容视为字符串。 可以先用 a, b = input().split(",") # 以“,”为分隔符分别将数据存入变量中 再用 c, d = a.strip(), b.strip() 就得到了单个的字 阅读全文
posted @ 2021-02-19 18:34 助手的fork 阅读(172) 评论(0) 推荐(0)