
数据结构与算法
飘渺蜉蝣
这个作者很懒,什么都没留下…
展开
-
单链表(leetcode: 设计链表)
public class MyLinkedList{ int size; ListNode head; public MyLinkedList() { size = 0; head = new ListNode(0); } private class ListNode { int val; ListNode next; public ListNode(int num) { val = num; } } private void addAtHead(int原创 2021-03-31 19:23:08 · 114 阅读 · 0 评论 -
栈的两种实现方式(1、数组 2、链表)
· 采用数组实现栈的方法class ListStack <E>{ // 数组实现栈 private Object[] stack; private int size; public ListStack(int len) { stack = new Object[len]; // 初始长度为len } // 判断堆栈是否为空 private boolean isEmpty() { return size == 0; } private E peek() {原创 2021-03-29 19:16:23 · 101 阅读 · 0 评论 -
Python中的list和C中的数组有什么区别?
区别主要有三点:空间效率C语言中,创建数组时,首先需要指定数组的容量大小,根据大小来分配内存,也就是说,即使要在数组中存储一个元素,也需要为所有的元素预先的分配内存。故,C语言中数组的空间效率不高。Python中,列表list属于其的一个高级特性,是对源码中对象(PyListObject)的一个抽象,而因为不同的list存储元素的个数不同,故这里的PyListObject再创立之初就被...转载 2019-02-23 11:04:54 · 5112 阅读 · 0 评论 -
无重复字符的最长子串
题目要求:给定一个字符串,请你找出其中不含有重复字符的最长子串 的长度class Solution: # 优化的滑动窗口解法(窗口左端为i,右端为j) def lengthOfLongestSubstring(self, s: 'str') -&amp;amp;amp;gt; 'int': n = len(s) dic = {} # 创建字典记录位置j处出现重复字符时,窗口左端i应移到的位置...翻译 2019-02-25 15:00:47 · 134 阅读 · 0 评论