算法题

以下是为您整理出来关于【算法题】合集内容,如果觉得还不错,请帮忙转发推荐。

【算法题】技术教程文章

【ZZ】15道简单算法题

http://www.cnblogs.com/hlxs/archive/2014/06/06/3772333.html1:合并排序,将两个已经排序的数组合并成一个数组,其中一个数组能容下两个数组的所有元素;2:合并两个单链表;3:倒序打印一个单链表;4:给定一个单链表的头指针和一个指定节点的指针,在O(1)时间删除该节点;5:找到链表倒数第K个节点;6:反转单链表;7:通过两个栈实现一个队列;8:二分查找;9:快速排序;10:获得一个int型的数中二进制中的个数;11:输入一个数组,实现一个函数,...

算法题【代码】

/* 算法题:给你一个自然数N,求[6, N]之内的所有素数中, 两两之和为偶数的那些偶数。 */#include <iostream>usingnamespacestd; void Grial(int n) {int *b = newint[n];int k = 0;b[k++] = 2;b[k++] = 3;b[k++] = 5;for (int i = 6; i < n; i++){int j;for (j = 0; j < (k+1) / 2 ;j++){if (i%b[j] == 0)break;}if(j == (k+1) / 2)b[k++] = i;}//已经找出了6-N的所有素数,那么要求和是这些素数之和的偶数//只需要冒泡遍历所有的...

算法题---带加减乘除和括号的单字母变量表达式转化成逆波兰式【代码】

#include <stdio.h> #include <stdlib.h> #include <malloc.h> #define STACK_INIT_SIZE 100 #define STACK_INCREAMENT 10 #pragma warning(disable:4996)//我用的vs2015,不加这句用scanf会报错(使用了unsafe的函数)typedef struct { //栈char *base;char *top;int stackSize; } Stack;void initStack(Stack &stack) { //初始化栈stack.base = stack.top = (char *)malloc(sizeof(char) * STACK_INIT_SIZE);stack.stackSize = S...

Python算法题----最大公约数【代码】

求最大公约数,辗转相除法。仍然是递归和递推的算法。不解释,上代码。 def divideNum01(n1, n2): while n1 % n2 != 0: r = n1 % n2 n1 = n2 n2 = r else: return n2 def divideNum02(n1, n2): if n1 % n2 == 0: return n2 else: return divideNum02(n2, n1 % n2)本文出自 “烛影摇红” 博客,请务必保留此出处http://gccmx.blog.51cto.com/47...

算法题 week3【代码】

21 #合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:设置一个新的链表,不断从l1和l2上找到较小的元素接在后面,生成新的有序链表。/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/class Solution {publ...

大公司面试经典数据结构与算法题C#解答【代码】

几个大公司(IBM、MicroSoft and so on)面试经典数据结构与算法题C#解答1.链表反转我想到了两种比较简单的方法第一种是需要开一个新的链表,将原链表的元素从后到前的插入到新链表中(也就是原链表第一个元素被插入成新链表的最后一个元素)。第二种是不需要开新的链表,而是逐步反转原链表中元素的指向,例如:原链表是 1->2->3->4->null 被 逐步修改为 ①2->1->null、3->4->null ②3->2->1->null、4->null ③4->3->2->1->null...

FCC 中级算法题 比较两个数组【代码】

Diff Two Arrays比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。言之,返回两个数组的差异。ComparisonOperatorsArray.slice()Array.filter()Array.indexOf()Array.concat()思路:先找出arr1中与arr2不同的部分组成新数组1,再找出arr2中与arr1不同的部分组成新数组2,在将这两个数组合并,得出两个数组不同的部分。知识点:(1)var newArr=arr.filter(func);filter函数可以筛选出可以使func函...

每日一道算法题之LeetCode13【代码】

LeetCode13 罗马数字转整数题目链接:https://leetcode-cn.com/problems/roman-to-integer/解题思路:# 1把罗马数字和对应的数值定义为字典;# 2计算输入字符的长度;# 3判断左边的数值是否小于右边,如果小于,则在总值中减去;反之加上。 1class Solution:2def romanToInt(self, s: str) -> int:3 dict = {‘I‘:1,‘V‘:5, ‘X‘:10, ‘L‘:50, ‘C‘:100, ‘D‘:500, ‘M‘:1000}4 n= len(s)5 sum = 0...

一天一道算法题---6.8--数学题

感谢微信平台:一天一道算法题---每天多一点进步----明天 考离散了 明天 高考结束了看上去都是 好日子.....上题目了:  求出用1 , 2 ,5这三个数不同个数的组合的和为100的组合个数。  如:100个1是一个组合;5个1+19个5是一个组合OK:--- 几天折磨后 终于来了个 我能做的....PS: 关于6.7--栈中O(1)实现min函数等的 应该会在今晚贴上..平台上关于这题的分析很到位:  设 1的个数为X 2的个数为Y 5的个数为Z 和为100的组...

笔试题82.新浪微博算法题

这是我在面试过程中遇到的一道代码算法题,需要我在一定的时间内完成这个题目,题目的描述: 将某字符串str1中的字符串str2,全部替换成字符串str3。 例如:str1=”abcecbbccefgxyzbcgbcg”,str2=”bc”,str3=”xy”.替换后为”axyecbxycefgxyzxygxyg” 请尽可能考虑各类情况,并保证时间复杂度和空间复杂度最优。 这个题看似简单的做法是可以的解决的,我当时也想过简单的暴力求解法解决...