补上。瞎忙,看来还是效率的问题。
1.Algorithm:每周至少做一个 leetcode 的算法题
2.Review:阅读并点评至少一篇英文技术文章
3.Tip:学习至少一个技术技巧
4.Share:分享一篇有观点和思考的技术文章
以下是各项的情况:
Algorithm
链接:[LeetCode-16]-3sum-closest
题意:
例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.
与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).
分析:
1. 先数组排序,让数组按顺序排列 sort一下
2.数组 nums 中,进行遍历,每遍历一个值利用其下标i,形成一个固定值 nums[i]
3.建立双指针,前指针指向 start = i + 1
处,后指针指向 end = nums.length - 1
处,也就是结尾处。根据结果判断与target的距离,更近就更新结果
class Solution { public int threeSumClosest(int[] nums, int target) { Arrays.sort(nums); // 数组前三位的和记为sum0 int sum0 = nums[0] + nums[1] + nums[2]; for(int i=0;i) { int start = i+1, end = nums.length - 1; while(start < end) { // 数组start,end指针和所指的和记为sum1 int sum1 = nums[start] + nums[end] + nums[i]; if(Math.abs(target - sum1) < Math.abs(target - sum0)) sum0 = sum1; if(sum1 > target) end--; else if(sum1 < target) start++; else return sum0; } } return sum0; } }
Review
分享 写伪代码来帮助理清思路 https://www.geeksforgeeks.org/how-to-write-a-pseudo-code/
如何写一个伪代码?
伪代码是经常用于编程和基于算法的字段的术语。它是一种允许程序员表示算法实现的方法。简单地说,我们可以说它是算法的显性表示。通常,算法在伪代码的帮助下表示,因为无论什么编程背景或知识等级,程序员都可以解释它们。顾名思义,伪代码是一种假代码或代码的表示,即使是具有一些学校级编程知识的外行也可以理解。
算法:它是有组织的逻辑序列或针对特定问题的方法。程序员实现一种算法来解决问题。算法使用自然语言但有些是用注释来表达。
伪代码:它只是以简单英语编写的注释和信息文本形式的算法实现。它没有任何编程语言的语法,因此无法由计算机编译或解释。
Tip
1.1.1 异常场景
手动误删.DBF文件造成数据库无法打开
1.1.2 异常解决方案
打开cmd终端:
SQL> startup mount ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它 SQL> shutdown immediate ORA-01109: 数据库未打开 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount ORACLE 例程已经启动。 Total System Global Area 612368384 bytes Fixed Size 1250428 bytes Variable Size 167775108 bytes Database Buffers 436207616 bytes Redo Buffers 7135232 bytes 数据库装载完毕。 SQL> alter database datafile 'F:\ORADB.DEF'offline drop; (忘了文件名,可以先执行下面的,会有文件名提示的) 数据库已更改。 SQL> alter database open; 数据库已更改。 SQL> drop tablespace oradb including contents; 表空间已删除。
Share
无学位如何成为优秀Java Coder 这一篇是由John Selawsky在7月中旬写的文章 , 现在才看= = 觉得很有趣 , 其实道理大家都懂 就是学习需要持之以恒 , 保留一点热情和兴趣 以及合理的规划 , 不过现在加班大环境下 , 很难达到吧 . 其实更有趣的是链接到他以前一篇文章 ,大概是讲入门语言不少学校都用python在教了吧 , 底下的评论 有一个是 "Groovy。它是可编写脚本的,但也打开了我进入JVM世界的大门 " 应该是这意思吧 . 我也该去看看 groovy ?