分类: 计算机

33 篇文章

字符串Part02
151.翻转字符串里的单词 这一题主要的难点其实在于移除多余的空格. 如果想要让空间复杂度位O(1),也就是不采用辅助空间的话,我们应该想到双指针法. 整体思路大概是,快指针定位到单词的位置,再将单词插入慢指针所指向的位置,除了慢指针指向开头时,每次将快指针的值(也就是单词)赋给慢指针时,要先加一个…
字符串Part01
344.反转字符串 class Solution { public: void reverseString(vector<char> &s) { for (int i = 0, j = s.size() - 1; i < s.size() / 2; i++, j--) { …
哈希表Part02
前置知识 C++中map,有三种类型: 映射 底层实现 是否有序 数值是否可以重复 能否更改数值 查询效率 增删效率 std::map 红黑树 key有序 key不可重复 key不可修改 O(log n) O(log n) std::multimap 红黑树 key有序 key可重复 key不可修改…
哈希表Part01
前置知识 在C++中,set 和 map 分别提供以下三种数据结构,其底层实现以及优劣如下表所示: 集合 底层实现 是否有序 数值是否可以重复 能否更改数值 查询效率 增删效率 std::set 红黑树 有序 否 否 O(log n) O(log n) std::multiset 红黑树 有序 是 …
链表Part02
24.两两交换链表中的节点 第一次尝试 超时了,推测是循环的问题 仔细想想好像是更新指针的问题,这一版代码的逻辑是先将curNode指向后两位的结点,然后再把nextNode指向curNode,然后再将curNode更新为curNode->next也就是curNode的后两位,再把nextNo…
链表Part01
203.移除链表元素 初次尝试 class Solution { public: ListNode *removeElements(ListNode *head, int val) // ListNode *是返回类型 { ListNode *sentinelNode = new ListNode(…
数组Part02
977.有序数组的平方 我的写法,几乎是一次成功 class Solution { public: vector<int> sortedSquares(vector<int> &nums) { vector<int> newArray = nums; in…
关于Java多态的理解-第二弹
起因 晚上无聊水群的时候,看见群友在讨论Java多态,作为学习Java两个月半的练习生,我便颇有信心的上去讨论,结果,不出所料的难住我了. 疑问1 public class Animal { } public class cat extends Animal { public void ls(){}…
数组Part01
704.二分查找 左闭右闭 第一次的代码,陷入死循环 class Solution { public: int search(vector<int> &nums, int target) { int left = 0; int right = nums.size() - 1; i…
CS61B-Lab6 持久化(Persistence)&序列化(Serializable)
这一个lab主要是关于持久化(persistence)和main方法中的String[] args变量 String[] args java xxx.java args1 args2 ... 这其中的args1,args2等就是传入main方法的args参数的量 就拿后面持久化练习的例子来说 jav…