ICode9

精准搜索请尝试: 精确搜索
  • 2.文件写入和读取2021-03-05 13:01:07

    头文件: #include <unistd.h> 1.写入文件 write函数 ssize_t write(int fd, const void *buf, size_t count); write() writes up to count bytes from the buffer pointed buf to the file referred to by the file descriptor fd. 代码如下(示例): #include <sys/types.h> #

  • C++开发快速赋能三步曲——面向对象2021-03-05 12:58:52

    文章目录 1 内存分区模型1.1 程序运行前1.2 程序运行后1.3 new操作符 2 函数提高2.1 函数默认参数2.2 函数占位参数2.3 函数重载2.3.1 函数重载概述2.3.2 函数重载注意事项 3 类和对象3.1 封装3.1.1 封装的意义3.1.2 struct 和 class 区别3.1.3 成员属性设置为私有 3.2 对

  • HashMap之tableSizeFor方法图解2021-03-05 12:36:11

    目录普通人的简单粗暴方式示例代码问题大神的实现移位的思想全过程示意图初始值右移一位+或运算右移二位+或运算右移四位+或运算右移八位+或运算右移十六位+或运算结果+1初始容量-1总结 在看HashMap源码时,注意到一个问题,容量必须是2的整数幂,为了保证这一点,专门给出了一个巧妙而

  • #排列组合#CF1081C Colorful Bricks2021-03-05 12:35:51

    题目 一共 \(n\) 块砖排成一排,把每块砖涂成 \(m\) 种颜色中的一种, 其中恰有 \(k\) 块颜色与其左边的那块砖不同(不包括第一块),问涂色方案数,对 \(998244353\) 取模。 分析 先钦定第一块的颜色,题意也就是分为\(k+1\)个颜色段, 这可以用隔板法实现,也就是\(C(n-1,k)\) 然后后面\(k\)段就

  • Java数组2021-03-05 12:34:05

    Java数组 1、数组概述 数组是相同类型数据的有序集合 2、数组声明创建 首先必须声明数组变量,才能在程序中使用数组。 dataType[] arrayRefVar; Java语言使用new操作符来 dataType[] arrayRefVar = new dataType[arraySize]; 获取数组长度: array.length 3、三种初始化

  • #模拟#洛谷 5957 [POI2017]Flappy Bird2021-03-05 12:33:26

    题目 分析 小鸟所在坐标的奇偶性一定相同, 考虑每次维护一个可行区间表示小鸟在当前列可以进入的纵坐标区间, 那么它有\(x_i-x_{i-1}\)的纵坐标最大改变差,然后根据奇偶性以及限制区间缩小范围, 当遇到区间不存在的情况即为无解,最小点击次数即是横坐标与最小纵坐标的平均数 代码 #in

  • PAT(甲级)2020年春季考试 7-2 The Judger (25 分) 经验分享与心路历程2021-03-05 12:33:08

    做了1个小时,过样例 #include <bits/stdc++.h> using namespace std; unordered_map<int, bool> exist; unordered_map<int, bool> difference; vector<vector<int>> input; //玩家的下标是直接从1到n开始的 unordered_map<int, bool> out_game; int main(

  • 排序-冒泡排序2021-03-05 12:32:15

    冒泡排序思想 基本思想: 冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来,假设从小到大,即为较大的数慢慢往后排,较小的数慢慢往前排。 直观表达,每一趟遍历,将一个最大的数移到序列末尾。 算法描述 比较相邻的元素,如果前一个比后一个大,交换之。 第一趟排序第1个和第2个

  • 洛谷P2670 [NOIP2015 普及组] 扫雷游戏经典解法2021-03-05 12:32:05

    #include<stdio.h> char a[101][101]; int b[101][101]; int main() { int n, m, i, j; scanf("%d%d", &n, &m); for (i = 1; i < n + 1; i++) for (j = 0; j < m + 1; j++) scanf("%c", &a[i][j]); for (i = 1; i &l

  • c++ 基础语法记录2021-03-05 12:30:29

    extern 存储类 --> 多个文件共享的全局变量或函数 引用 using namespace std --> 整个命名空间到当前作用域 using std::count --> 变量到当前作用域 函数参数 传值调用 void functions(int x, int y)–> 实际值复制给形参, 修改 实际值不改指针调用 void functions(int *x, i

  • 【数据结构与算法(Java)】八皇后问题(回溯算法-递归)2021-03-05 12:01:56

    1. 递归思路 基本情况:放置到第8个皇后(即找到一个解法)向基本情况靠近:若当前皇后的放置位置不冲突,则放置下一个皇后到下一行调用自身:将当前皇后数加1后作为参数,继续放置 2. 代码实现 /** * 八皇后问题 - 回溯算法(递归) */ public class EightQueenProblem { /** * 一

  • 2021-03-05 12:00:43

    一、类的继承例子 #include<iostream> using namespace std; class DataType { private: int year, month, day; public: DataType(int year_ = 1997, int month_=10, int day_ = 6) { year = year_; month = month_; day = day_; cout << "DataType的构造函数&

  • 图的算法2021-03-05 11:33:14

    转载:[图的最短路径算法]Dijkstra, Bellman-Ford, Floyd-Warshall 一. Dijkstra算法    二、Bellman-Ford算法     三、Floyd-Warshall算法 算法思想原理:       Floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径。

  • 变量、数据类型和运算符-----Java第二章笔记2021-03-05 11:02:51

    第二章:变量、数据类型和运算符 一、变量: 1.变量的概念:一个存储数据的基本单元(用来存储数据的空间)----!!!重点!!! 2.变量的使用: 第一步:声明变量 int a; int是数据类型 a是变量名 第二步:赋值 a=10; a是变量名 =是赋值符号 10是变量值 第三步:使用变

  • EdcationalRound62-E-dp2021-03-05 10:59:38

    题目大意: 给你一个序列。有若干个位置没有填值.问你有多少种填值方案使得其不含任何长度大于等于3的回文串. n , k ≤ 1

  • Leetcode 1147. 段式回文(DAY 60) ---- 动态规划学习期(第一题难度并不难但是感觉今天状态不是很好)2021-03-05 10:58:18

    原题题目 代码实现(首刷部分看解部分自解) int test(char* text,int count,int start1,int start2) { int i; for(i=0;i<count;i++) if(text[start1+i] != text[start2+i]) return 0; return 1; } int longestDecomposition(char * text){ int

  • [CF997B] Roman Digits - 组合,构造2021-03-05 10:34:31

    [CF997B] Roman Digits - 组合,构造 Description 我们在研究罗马数字。罗马数字只有4个字符,I,V,X,L分别代表1,5,10,50 N 的罗马数字有多少种不同的值。\(n \le 10^9\) Solution 首先我们可以把 1,5,10,50 换成 0,4,9,49 为了不重不漏,我们钦定,4 最多选 8 个,0 和 49 随便选 那么 9

  • 面试题 02.032021-03-05 10:32:31

    删除中间节点 自己的解法 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public void deleteNode(ListNode node) { node.val

  • pat乙10522021-03-05 10:04:04

    1052 卖个萌 (20 分) https://pintia.cn/problem-sets/994805260223102976/problems/994805273883951104 萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的: 左手[右手] 现给出可选用的符号集合,请你按用户的要求输出

  • 矩阵相加2021-03-05 10:02:27

    试题 算法训练 矩阵加法 提交此题   评测记录   资源限制 时间限制:1.0s   内存限制:512.0MB 问题描述:   给定两个N×M的矩阵,计算其和。其中:  N和M大于等于1且小于等于100,矩阵元素的绝对值不超过1000。 输入格式:   输入数据的第一行包含两个整数N、M,表示需要相加的

  • LeetCode67--跳水板、汉诺塔问题2021-03-05 10:02:21

    1.跳水板 //你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方 //法,生成跳水板所有可能的长度。 // // 返回的长度需要从小到大排列。 // // 示例 1 // // 输入: //shorter = 1

  • 第六次测训:17省4方格分割,17国1-36进制,17省3-承压计算,17省Ja2-九数算式,17省Ca1-迷宫2021-03-05 09:30:03

    17省4-方格分割 题目链接. 【关键词】dfs 二维数组 【思路】 以中心点(3 ,3)为原点,划分得到4个形状相等的象限,这使得很容易通过计算一个象限的情况而得到所有情况 以中心点为起点使用dfs,每次同时遍历一个点以及与中心点的对称的点,最后将结果/4(总共有4个一样

  • Leetcode-232. 用栈实现队列2021-03-05 09:02:12

    题目 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回

  • 练习2-13 求N分之一序列前N项和 (15分)2021-03-05 09:01:32

    公众号【C you again】回复 “浙大版C语言” 查看每道题目详细实现思路 本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。 输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超

  • L1-008 求整数段和2021-03-05 04:32:05

    转: L1-008 求整数段和 L1-008 求整数段和 给定两个整数A和B,输出从A到B的所有整数以及这些数的和。 输入格式: 输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。 输出格式: 首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

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

ICode9版权所有