ICode9

精准搜索请尝试: 精确搜索
  • C#:递归函数的使用、out 、ref、params修饰符号的使用\方法的重载2022-09-08 16:31:11

    递归函数的使用: public static int i = 0; //定义一个静态变量 public static void Test()//定义静态函数 { Console.WriteLine("从前有座山"); Console.WriteLine("山上有座庙"); Console.WriteLine("庙里有一个老和尚,在该小和

  • ACM模式各种输入总结 C++2022-09-07 12:32:49

    一、整型数组输入: (很简单)在终端的一行中输入固定数目的整型数字,并存到数组中,中间以空格分隔。 示例: 3 1 2 3 int n; cin >> n; vector<int> nums(n); for (int i = 0; i < n; ++i){ cin >> nums[i]; } (重难点)在终端的一行中输入非固定数目的整型

  • 计算两个或多个数字的平均值2022-09-07 11:00:08

    JavaScript const avg = (...nums) => nums.reduce((acc, val) => acc + val, 0) / nums.length Examples avg(...[1, 2, 3]) // 2 avg(1, 2, 3) // 2

  • leetcode977(双指针)2022-09-07 00:35:21

    mycode: class Solution { public: vector<int> sortedSquares(vector<int>& nums) { int n = 100000; int x = 0; for(int i=0;i<nums.size();i++){ if(abs(nums[i])<n){

  • 128. 最长连续序列2022-09-07 00:32:54

    128. 最长连续序列 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n)的算法解决此问题。   示例 1: 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

  • Python文件和异常(五)2022-09-06 22:00:08

    一、从文件中读取数据 open()函数 参数 file 文件路径 mode mode参数 可做操作 若文件不存在 如何处理原内容 r 只可读 报错 - r+ 可读可写 报错 是 w 只可写 创建 是 w+ 可读可写 创建 是 a 只可写 创建 否,追加 a+ 可读可写 创建 否,追加 x 只可写 创建 -

  • leetcode 45 跳跃游戏 最少次数 C/C++ 动态规划2022-09-06 19:32:43

    动态转移方程   dp[pos] = min{dp[pos-k] +1}   当a[pos-k] >= k ,  k 是两次状态之间a的物理距离。    动态规划并不是这个例子的最好解法,时间复杂度 n^2, 空间复杂度有n, 在 n 比较大时,在有些平台并不能通过。 class Solution { public:     int jump(vector<int>

  • 【基础算法】排序专题2022-09-06 19:02:27

    快速排序 912. 排序数组 class Solution { public: void quick_sort(vector<int>& q, int l, int r) { if(l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while(i < j) { while(q[++ i]

  • C#:初识结构体、数组、冒泡排序。2022-09-06 16:01:10

    代码: /// <summary> /// 1.结构体与枚举、变量相似,都是自定义一种新的数据的类型 /// 2.结构体中的不称为变量,被称为是字段。,因为变量只可以储存一种数据,字段可以储存多个数据 /// 3.结构体中的字段专业的命名都是下划线开始的 /// </summary> //定义结构体 s

  • [Google] LeetCode 2172 Maximum AND Sum of Array 状态压缩DP2022-09-06 03:01:16

    You are given an integer array nums of length n and an integer numSlots such that 2 * numSlots >= n. There are numSlots slots numbered from 1 to numSlots. You have to place all n integers into the slots such that each slot contains at most two numbers.

  • leetcode1768-交替合并字符串2022-09-05 15:03:52

    https://leetcode.cn/problems/merge-strings-alternately/ 这题没什么好说的,特别简单。但是也学到了一些点。 1.字符串res和另一个字符串中的某一个字符nums[i]不能通过  res += nums[i];形式添加,否则会报错。要用 res = res + nums[i]; 2.字符串添加字符元素用res.push_back(n

  • LeetCode 491 递增子序列2022-09-05 11:05:26

    class Solution { public: vector<vector<int>> res; vector<int> path; int num = -101; void dfs(int start, vector<int>& nums) { if (path.size() > 1) { res.push_back(path); }

  • 通过 Infinity 和 -Infinity 查找数组中最大和最小值2022-09-05 01:31:33

    认识 Infinity 在 JavaScript 中超出 1.797693134862315E+308 的数值即为 Infinity,小于 -1.797693134862316E+308 的数值为无穷小。 出现情况 2 的指数必须在 -1023 到 1024 之间(开区间)。如果指数太小,数字会变成 0。如果指数太大,则会变成 Infinity。 Math.pow(2, 1024); // Infini

  • 递推2022-09-04 20:32:36

    公式一 等差数列求和: ((1+n)*n/2) 公式二 题目描述 设有一个N×M方格的棋盘( l≤ N≤100,1≤M≤100)。求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。 例如:当 N=2, M=3时: 正方形的个数有8个:即边长为1的正方形有6个;边长为2的正方形有2个。 长方形的个数有10个:即2×1的长

  • leetcode 674 最长连续递增序列 C/C++ 动态规划,动态规划空间优化,双指针 三种解法,初识动态规划2022-09-04 19:33:06

    #if 0 class Solution {  //动态规划 public:     int findLengthOfLCIS(vector<int>& nums) {         vector<int> dp(nums.size());         int max = 0;         for(int i = 0;i< nums.size()-1; i++){           

  • leetcode283-移动零2022-09-04 16:04:29

    https://leetcode.cn/problems/move-zeroes/ 方法一:双指针法 设置两个指针 i 和 j , 1 class Solution { 2 public: 3 void moveZeroes(vector<int>& nums) { 4 int i,j,size=nums.size(); 5 bool flag=false; 6 for(i=0,j=0;i<size&&

  • 448. 找到所有数组中消失的数字2022-09-04 13:30:08

      思路 难度简单1065收藏分享切换为英文接收动态反馈 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。   示例 1: 输入:nums = [4,3,2,7,8,2,3,1] 输出:[5,6]

  • 654.maximum-binary-tree 最大二叉树2022-09-04 10:04:37

    递归就好了,没啥好说的。 class Solution { private: int getMax(vector<int> &nums, int l, int r) { int m_index = l; for (int i = l; i < r; i++) { if (nums[i] >= nums[m_index]) m_index = i; }

  • LeetCode/摆动序列2022-09-03 18:31:11

    求数组最长摆动子序列长度 1. 动态规划 分两种状态进行转移 up[i]表示数组前i个数的最长上升摆动序列长度 down[i]表示数组前i个数的最长下降摆动序列长度 注意比较条件,以及导致状态转移的原因 class Solution { public: int wiggleMaxLength(vector<int>& nums) { in

  • 二分法查找2022-09-03 17:32:26

    1.需求: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 2.示例: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 3.提示: 你可以假设 nums 中的所有

  • 3.4 程序与用户交互2022-09-03 16:32:41

    一 程序与用户交互 1.1、什么是与用户交互  用户交互就是人往计算机中input/输入数据,计算机print/输出结果 1.2、为什么要与用户交互? 插图:恶搞图12   为了让计算机能够像人一样与用户沟通交流 比如,过去我们去银行取钱,用户需要把帐号密码告诉柜员,而现在,柜员被ATM机取代,ATM机就

  • LeetCode/递增的三元子序列2022-09-03 02:00:33

    给你一个整数数组nums ,判断这个数组中是否存在长度为 3 的递增子序列 1. 贪心法 贪心更新两个最左端端点 class Solution { public: bool increasingTriplet(vector<int>& nums) { int len = nums.size(); if (len < 3) return false; int small = INT_MAX, mid = I

  • [Leetcode 189]轮转数组2022-09-03 00:33:46

    Leetocde189 轮转数组 这题能被用做mid题是因为一题多解,其中基于双指针的轮状数组解法是比较难的 1. 使用新数组 __直接把第i个元素移到第(i+k)%numsize位置,类似循环队列 void rotate(int* nums, int numsSize, int k) { int newArr[numsSize]; for (int i = 0; i < numsSiz

  • 选择客栈2022-09-02 17:32:58

    P1311 [NOIP2011 提高组] 选择客栈 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 核心:遍历每个客栈,认为这个客栈是客栈对中后一个,现在需要找到它前面有多少个满足条件的,不断更新当前最新的小于等于预算的客栈对应的位置,同时更新那个位置之前所有颜色对应的一个计数器nums,累加时

  • 27 移除元素2022-09-02 13:03:54

    题目27 移除元素 思路: 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组 要知道数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能覆盖。 双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。 定义快慢指针:

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有