07 2021 档案
摘要:多进程 多进程2 1 import time 2 from multiprocessing import Process 3 import os 4 5 6 def dance(num, name): 7 print('Process of basketball is %s.' % os.getpi
阅读全文
摘要:IO流-2 这一节也很简单,只是注意一下操作二进制文件需要使用BytesIO 1 from io import StringIO 2 from io import BytesIO 3 f = StringIO() 4 f.write('Hello') 5 f.write(' ') 6 f.write
阅读全文
摘要:文件读写 很简单的内容,必要的东西写在了注释里: 1 import os 2 3 print('当前工作目录:'+os.getcwd()) # 这个方法可以得到当前程序的工作目录 4 try: 5 f = open('F:/xx1/xx2/Game.txt', 'r') # 为了安全性,要调用clo
阅读全文
摘要:这里记录的香槟塔算法笔记是简易版的,最初时,香槟塔中的每个杯子都是空的,没有倒酒。从塔顶的杯子开始倒酒,给定一个倒酒的杯数(次数),然后查找某一行某一列杯子的乘酒量(小数表示,例如1.0表示满;0.5表示一半满) 对于特定行特定列的杯子,我们在这里用一个二维数组来存储,既存储位置,也存储乘酒量。然后
阅读全文
摘要:如果我们是专业的小偷,并计划偷窃沿街房屋内部藏有的现金。影响我们偷窃的唯一因素就是相邻房屋装有互相连通的防盗系统,如果两间相邻的房屋在同一个晚上被小偷闯入,就会触发自动报警系统。 给定一个存储每个房间藏有现金金额的非负整数数组,计算我们在不触动报警系统的情况下,一夜之间能够偷窃到的最高金额。 这题很
阅读全文
摘要:这次的二叉搜索树暂时只能添加、删除整数。 不同于以往创建树的过程,在创建一棵二叉搜索树时,我们还需要一个指向结点的父节点的指针(如果存在的话),静态内部类如下: 1 private TreeNode left; 2 private TreeNode right; 3 private TreeNode
阅读全文
摘要:深度优先 广度优先 我们用一个二维数组来存储城市与城市之间的关系,若从城市i到城市j直接相连或间接相连,那么二维数组的[i][j]和[j][i]均为1,若无论如何也无法从一座城市抵达另外一座城市,则对应二维数组中两个值为0.约定城市到自己之间是连接的。 先来看看DFS.首先我们需要遍历一个存储了城市
阅读全文
摘要:所谓Morris遍历,就是建立线索二叉树,然后在遍历的同时边建边拆。 主要思路就是,我先拿到当前节点,然后设置一个mostRight指向当前节点的左子树,然后不断地找右子树(这样做是为了找到当前节点的直接前驱节点)。找到之后,如果这个节点的右孩子指向为空,则指向当前节点,这就是建立线索二叉树;同时,
阅读全文
摘要:这里记录一下用C语言递归创建树的代码: 1 #include <stdio.h> 2 #include <assert.h> 3 struct TreeNode { 4 struct TreeNode* left; 5 struct TreeNode* right; 6 char val; 7 };
阅读全文
摘要:https://www.bilibili.com/video/BV1ZK411K7A8?t=794 首先十分感谢B站小姐姐精彩的讲课内容,再结合一位兄弟通俗易懂的代码,我写了这份java版的N皇后问题的代码,供大家也供自己参考学习。 我们以四皇后问题为例,其主要思路就是:在这个4×4的棋盘上,我们每
阅读全文
摘要:题目描述: Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下:1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{p
阅读全文
摘要:总共有n枚硬币,将它们摆成一个阶梯形状,第k行必须正好要有k枚硬币。给定一个数字n,给出可形成完整阶梯行的总行数(若当行凑不了,就返回上一行) 首先,我们最容易想到的思路就是,用一个for循环,每次这个n减去循环变量i,然后判断是否小于i.因为要排列成阶梯的话,他必须是第k行有k个数。所以这样就可以
阅读全文
摘要:本次程序可以获取斐波那契数列任意位置上的数字。 要怎样实现呢?用递归就可以了。 先上代码: 1 package com.hw.list0710; 2 3 import java.util.Scanner; 4 5 public class Fibonacci { 6 private int calc
阅读全文
摘要:题目描述: Given two strings S1 and S2, S = S1 - S2 is defined to be the remaining string after taking all the characters in S2 from S1. Your task is simpl
阅读全文
摘要:给出一组有序的序列,其中有重复数字,要求原地去重,并给出去重后数组的长度。(不能额外开辟数组) 这道题,如果用java的话,就肯定不能用set了。那我们可以用什么好办法呢?这里介绍一下双指针法。 什么是双指针法?就是我们先定义两个指针,一个快指针一个慢指针,分别指向数组的第二和第一个元素,快指针通过
阅读全文
摘要:这里记录一下用埃筛法统计素数个数的算法: 一般来说,统计从0到某一个数含有多少个素数,我们一般都会暴力求解,就是从2开始一直遍历,看某个数是否有因数。但其实,这样的算法效率并不是很高。因为比如说,我统计出2是素数,那么这个时候,我还有没有必要去遍历2×2,2×3,2×4...是不是素数呢?显然是没有
阅读全文
摘要:题目描述: PIPI给你一个合法的括号序列,希望跟你按左括号下标递增顺序给出每对括号在序列中的下标。(下标从1开始) 输入: 多组数据 第一行包括一个只包含'('和')'的字符串,保证输入的括号匹配序列合法,长度不超过100000 输出: 按左括号下标递增顺序给出每对括号在序列中的下标。 样例输入:
阅读全文

浙公网安备 33010602011771号