ARTS第七周

清疚 2023-08-17 16:37 184阅读 0赞

补上。瞎忙,看来还是效率的问题。

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的距离,更近就更新结果

  1. class Solution {
  2. public int threeSumClosest(int[] nums, int target) {
  3. Arrays.sort(nums);
  4. // 数组前三位的和记为sum0
  5. int sum0 = nums[0] + nums[1] + nums[2];
  6. for(int i=0;i<nums.length;i++) {
  7. int start = i+1, end = nums.length - 1;
  8. while(start < end) {
  9. // 数组start,end指针和所指的和记为sum1
  10. int sum1 = nums[start] + nums[end] + nums[i];
  11. if(Math.abs(target - sum1) < Math.abs(target - sum0))
  12. sum0 = sum1;
  13. if(sum1 > target)
  14. end--;
  15. else if(sum1 < target)
  16. start++;
  17. else
  18. return sum0;
  19. }
  20. }
  21. return sum0;
  22. }
  23. }

Review

分享 写伪代码来帮助理清思路  https://www.geeksforgeeks.org/how-to-write-a-pseudo-code/

  如何写一个伪代码?

  伪代码是经常用于编程和基于算法的字段的术语。它是一种允许程序员表示算法实现的方法。简单地说,我们可以说它是算法的显性表示。通常,算法在伪代码的帮助下表示,因为无论什么编程背景或知识等级,程序员都可以解释它们。顾名思义,伪代码是一种假代码或代码的表示,即使是具有一些学校级编程知识的外行也可以理解。

算法:它是有组织的逻辑序列或针对特定问题的方法。程序员实现一种算法来解决问题。算法使用自然语言但有些是用注释来表达。

  伪代码:它只是以简单英语编写的注释和信息文本形式的算法实现。它没有任何编程语言的语法,因此无法由计算机编译或解释。

Tip

  1.1.1 异常场景

  手动误删.DBF文件造成数据库无法打开

  1.1.2 异常解决方案

  打开cmd终端:

  1. SQL> startup mount
  2. ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
  3. SQL> shutdown immediate
  4. ORA-01109: 数据库未打开
  5. 已经卸载数据库。
  6. ORACLE 例程已经关闭。
  7. SQL> startup mount
  8. ORACLE 例程已经启动。
  9. Total System Global Area 612368384 bytes
  10. Fixed Size 1250428 bytes
  11. Variable Size 167775108 bytes
  12. Database Buffers 436207616 bytes
  13. Redo Buffers 7135232 bytes
  14. 数据库装载完毕。
  15. SQL> alter database datafile 'F:\ORADB.DEF'offline drop; (忘了文件名,可以先执行下面的,会有文件名提示的)
  16. 数据库已更改。
  17. SQL> alter database open;
  18. 数据库已更改。
  19. SQL> drop tablespace oradb including contents;
  20. 表空间已删除。

Share

  无学位如何成为优秀Java Coder 这一篇是由John Selawsky在7月中旬写的文章 , 现在才看= = 觉得很有趣 , 其实道理大家都懂 就是学习需要持之以恒 , 保留一点热情和兴趣 以及合理的规划 , 不过现在加班大环境下 , 很难达到吧 . 其实更有趣的是链接到他以前一篇文章 ,大概是讲入门语言不少学校都用python在教了吧 , 底下的评论 有一个是 “Groovy。它是可编写脚本的,但也打开了我进入JVM世界的大门 “ 应该是这意思吧 . 我也该去看看 groovy ?

转载于:https://www.cnblogs.com/jxl00125/p/11449423.html

发表评论

表情:
评论列表 (有 0 条评论,184人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ARTS

    补上。瞎忙,看来还是效率的问题。 1.Algorithm:每周至少做一个 leetcode 的算法题 2.Review:阅读并点评至少一篇英文技术文章 3.Tip:学

    相关 ARTS

    \-第五周。这两周在复习大学里的课程,发现当时觉得课上很多看不懂的,现在看起来轻松多了,也带来了新的感悟。 1.Algorithm:每周至少做一个 leetcode 的算法题

    相关 ARTS

    第六周。后期补完,太忙了。 1.Algorithm:每周至少做一个 leetcode 的算法题 2.Review:阅读并点评至少一篇英文技术文章 3.Tip:学习至少

    相关 ARTS 计划

    ALGORITHM [Remove Duplicates from Sorted Array][] 仔细阅读题目,可以看到题目中的要求是直接操作内存数组,对于多出来的