- 博客(5)
- 收藏
- 关注
原创 计算快速幂
这应该是个简单的小算法,作用是求a的b次幂,按照正常的思路,就是累乘b次aint reminder(int base, int mi){ int rem = 1; while (mi--) rem *= base; return rem;}朴实无华的O(n),平平淡淡的TLE。要优化,举个7的10次方的例子7^10 = 7*7*7*7*7*7*7*7*7*7//九次运算等于49的五次方49*49*49*49*49//六次运算(第一次是把底数平方)快
2021-05-29 11:37:54
103
原创 力扣第八题 myatoi
这一题其实并不算难,只是在考验细心程度而已。这是我第一次提交的代码class Solution {public: int myAtoi(string& s) { int len = s.size(); int pre = 0; long long ans = 0,k; while(s[pre] == ' ') pre ++; if(s[pre] == '-') {
2021-05-15 08:29:59
134
原创 旋转链表 (2)
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。这题写了好多次,老是记不住关键点。class Solution {public: ListNode* reverseBetween(ListNode* head, int left, int right) { ListNode *dummy = new ListNode();//很关键,首
2021-05-07 20:43:57
94
原创 快慢指针(删除数组重复项)
给出一个有序数组如vector<int> nums {0,0,1,1,1,2,2,3,3,4};原地删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不能一边遍历一遍删除,因为这样会改变数组的大小,很容易出bug。用快慢指针将重复的元素移动到数组后面,不同的移到前面,才是正解。 int pre = 0, cur = 0, n = nums.size();pre在左,cur在右,刚开始都指向下标为零的位置。循环遍历nums,如果pre和cur指向的元素大小相同,
2021-05-06 13:58:05
282
原创 JAVA 新手对于继承的理解
class father{ public String name; public int age; void setname(String name) { this.name = name; }}class son extends father{ public String name;}这就是继承。son继承了father如果这时候来一行son test = new son();根据我的理解,其实new出来的是一个son,son里又有一个father。son里是没有age属
2021-05-04 13:58:09
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人