当前位置: 首页 > news >正文

一站式网站建设服务商做推广的网站微信号

一站式网站建设服务商,做推广的网站微信号,两学一做是什么网站,wordpress++pdf力扣爆刷第104天之CodeTop100五连刷6-10 文章目录 力扣爆刷第104天之CodeTop100五连刷6-10一、15. 三数之和二、53. 最大子数组和三、912. 排序数组四、21. 合并两个有序链表五、1. 两数之和 一、15. 三数之和 题目链接#xff1a;https://leetcode.cn/problems/3sum/descrip…力扣爆刷第104天之CodeTop100五连刷6-10 文章目录 力扣爆刷第104天之CodeTop100五连刷6-10一、15. 三数之和二、53. 最大子数组和三、912. 排序数组四、21. 合并两个有序链表五、1. 两数之和 一、15. 三数之和 题目链接https://leetcode.cn/problems/3sum/description/ 思路求三数之和需要外层一个for内层一个for内层的还要双指针。另外就是要注意去重操作。 class Solution {public ListListInteger threeSum(int[] nums) {ListListInteger arrayList new ArrayList();Arrays.sort(nums);for(int i 0; i nums.length-2; i) {if(nums[i] 0) break;if(i 0 nums[i] nums[i-1]) continue;int j i1, k nums.length-1;while(j k) {int temp nums[i] nums[j] nums[k];if(temp 0) {ListInteger list new ArrayList();list.add(nums[i]);list.add(nums[j]);list.add(nums[k]);arrayList.add(list);while(j k nums[j] nums[j1]) j;while(j k nums[k] nums[k-1]) k--;j;k--;}else if(temp 0) {j;}else{k--;}}}return arrayList;} } 二、53. 最大子数组和 题目链接https://leetcode.cn/problems/maximum-subarray/description/ 思路可以使用动态规划和贪心来做动态规划就是状态与选择贪心就是局部最优到全局最优。 动态规划定义dp[i]表示在区间nums[0, i]中以nums[i]为结尾的最大子数组的和那么对于每一个dp[i]来说它都可以选择把nums[i]是否追加到子数组的结尾这个就是状态与选择选择的条件是最大子数组的和这一句话就把动态规划讲透了。 贪心贪心更简单只要子数组的和大于0我就一直加只要小于0就离开开启一个新的子数组。 class Solution {public int maxSubArray(int[] nums) {int[] dp new int[nums.length];dp[0] nums[0];int max nums[0];for(int i 1; i nums.length; i) {dp[i] Math.max(dp[i-1]nums[i], nums[i]);max Math.max(max, dp[i]);}return max;} }三、912. 排序数组 题目链接https://leetcode.cn/problems/sort-an-array/description/ 思路使用归并排序时间复杂度为O(nlogn)空间复杂度为O(n)。 class Solution {int[] temp;public int[] sortArray(int[] nums) {temp new int[nums.length];mergeSort(nums, 0, nums.length-1);return nums;}void mergeSort(int[] nums, int left, int right) {if(left right) return;int mid left (right - left) / 2;mergeSort(nums, left, mid);mergeSort(nums, mid1, right);int i left, j mid 1;int k left;while(i mid j right) {if(nums[i] nums[j]) {temp[k] nums[i]; }else{temp[k] nums[j];}}while(i mid) {temp[k] nums[i]; }while(j right) {temp[k] nums[j];}k left;while(k right) {nums[k] temp[k];k;}} } 四、21. 合并两个有序链表 题目链接https://leetcode.cn/problems/merge-two-sorted-lists/description/ 思路合并两个有序链表类似于归并排序比大小然后拼接剩下的直接拼接。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode root new ListNode();ListNode p1 list1, p2 list2, p root;while(p1 ! null p2 ! null) {if(p1.val p2.val) {p.next p1;p1 p1.next;}else{p.next p2;p2 p2.next;}p p.next;p.next null;}if(p1 ! null) {p.next p1;}if(p2 ! null) {p.next p2;}return root.next;} }五、1. 两数之和 题目链接https://leetcode.cn/problems/two-sum/description/ 思路两数之和利用map从map里找target - nums[i]找到了就找到了。 class Solution {public int[] twoSum(int[] nums, int target) {MapInteger, Integer map new HashMap();for(int i 0; i nums.length; i) {int t target - nums[i];if(map.containsKey(t)) {return new int[] {i, map.get(t)};}else{map.put(nums[i], i);}}return new int[] {-1, -1};} }
http://www.w-s-a.com/news/745414/

相关文章:

  • 湖南网站建设公司排名傲派电子商务网站建设总结
  • 网站建设求职要求互联网挣钱项目平台
  • 网站权重怎么做做黑彩网站能赚钱吗
  • 三台建设局网站网页设计购物网站建设
  • thinkphp大型网站开发市场调研公司招聘
  • 天宁区建设局网站七冶建设集团网站 江苏
  • 越南网站 后缀湘潭新思维网站
  • 环球旅行社网站建设规划书网钛cms做的网站
  • 软件资源网站wordpress不能识别语言
  • 东坑仿做网站西安私人网站
  • 公司想做个网站怎么办如何搭建视频网站
  • .net网站架设凯里网站建设哪家好
  • seo网站建站建站国外百元服务器
  • 家具网站开发设计论文企业网站里面的qq咨询怎么做
  • 网站视频提取软件app淘宝店购买网站
  • 站长之家域名解析做百度推广网站咱们做
  • 行业 网站 方案莱州网站建设公司电话
  • 丹东谁做微网站威海网络科技有限公司
  • 寻找网站建设_网站外包自助打印微信小程序免费制作平台
  • 台式机网站建设vk社交网站做婚介
  • 创建网站得花多少钱网站建设的技术路线
  • 图书馆网站建设汇报免费编程软件哪个好用
  • 手机搭建网站工具网站搜索引擎优化的基本内容
  • 网站快速排名二手交易网站开发技术路线
  • 官方网站开发公司施工企业会计王玉红课后答案
  • 网站建设能用手机制作吗网站建设所需物资
  • 阜阳做网站的公司阳江招聘网最新消息
  • 织梦可以做哪些类型型网站wordpress 融资
  • 建设银行手机银行官方网站下载安装腾讯企点账户中心
  • 品牌设计网站有哪些商务网站建设平台